/* OeCambia v2.2 */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  --red:#D20000;--purple:#6E00CC;--lime:#A8D400;
  --teal:#00B4C8;--teal-dark:#008FA0;
  --bg:#f0f2f4;--bg-white:#ffffff;
  --border:#dde0e4;--text:#1a1a1a;--text2:#666;--text3:#aaa;
  --foil-gold:#E8A800;--foil-gold2:#FFD040;
  --red-badge:#E82020;
  --radius:10px;--radius-sm:8px;
  --font:'Barlow Condensed',Arial Narrow,sans-serif;
  --shadow:0 3px 16px rgba(0,0,0,.12);
  --stats-h:70px;
}
html{overflow-x:hidden}
body{font-family:var(--font);background:var(--bg);color:var(--text);overflow-x:hidden;min-height:100vh}

/* LOGIN */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:20px;background:var(--bg-white)}
.login-wrap{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}
.login-logo{text-align:center;padding:24px 0}
.logo-icon{font-size:52px;margin-bottom:10px}
.login-logo h1{font-size:34px;font-weight:900;letter-spacing:.5px;color:var(--teal);font-family:var(--font);text-transform:uppercase}
.login-logo p{color:var(--text2);font-size:13px;margin-top:4px}
.tab-bar{display:flex;background:#eef0f2;border-radius:var(--radius);padding:4px;gap:4px}
.tab-btn{flex:1;padding:11px;border:none;background:transparent;color:var(--text2);border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:var(--font);text-transform:uppercase;letter-spacing:.3px}
.tab-btn.active{background:var(--bg-white);color:var(--teal);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.auth-form{display:flex;flex-direction:column;gap:12px}
.auth-form.hidden{display:none}
.field input{width:100%;padding:15px 16px;background:#f7f8f9;border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:16px;outline:none;transition:border .2s;font-family:var(--font)}
.field input:focus{border-color:var(--teal)}
.pin-field input{letter-spacing:8px;font-size:22px;text-align:center}
.btn-primary{width:100%;padding:16px;background:var(--teal);color:#fff;border:none;border-radius:var(--radius);font-size:17px;font-weight:800;cursor:pointer;font-family:var(--font);text-transform:uppercase;letter-spacing:.5px}
.btn-primary:active{opacity:.85}
/* HEADER */
.app-header{
  position:relative;
  height:155px;
  overflow:hidden;
  background:transparent;
}
/* Blobs BEHIND the red - purple TL, lime BR */
.hdr-blob{position:absolute;border-radius:50%;z-index:0;pointer-events:none}
.hdr-blob-left{
  width:200px;height:200px;
  background:var(--purple);
  top:-60px;left:-60px;
}
.hdr-blob-right{
  width:220px;height:220px;
  background:var(--lime);
  bottom:-70px;right:-70px;
}
/* Red block ON TOP with only TL + BR corners rounded */
.hdr-red{
  position:absolute;inset:0;
  background:var(--red);
  border-radius:120px 0 120px 0;
  z-index:1;
}
/* Controls and username above red */
.hdr-controls{
  position:absolute;top:0;left:0;right:0;
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 16px;z-index:5;
}
.hdr-btn{
  background:rgba(0,0,0,.20);border:none;border-radius:50%;
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;text-decoration:none;flex-shrink:0;
  transition:background .15s;
}
.hdr-btn:active{background:rgba(0,0,0,.38)}
.hdr-username{
  position:absolute;top:38px;left:60px;right:60px;bottom:0;
  z-index:4;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:28px;font-weight:900;
  text-transform:uppercase;font-family:var(--font);
  letter-spacing:1px;line-height:1;
  text-shadow:0 2px 8px rgba(0,0,0,.18);
  background:none;border:none;cursor:pointer;
}

/* STICKY TOP */
.sticky-top{
  position:sticky;top:0;z-index:100;
  padding-top:0;
}

/* STATS BAR - equal widths, no resize on active */
.stats-bar{
  display:flex;align-items:center;
  background:var(--bg-white);
  border-radius:16px;
  margin:0 12px;
  margin-top:-34px;
  box-shadow:var(--shadow);
  overflow:hidden;
  height:68px;
  position:relative;z-index:2;
}
@media(min-width:600px){.stats-bar{max-width:500px;margin-left:auto;margin-right:auto;margin-top:-34px}}
.stat-btn{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  background:transparent;border:none;
  cursor:pointer;gap:3px;padding:8px 2px;
  transition:background .15s;
  height:100%;
}
.stat-btn.active{background:var(--teal)}
.stat-btn:active{opacity:.8}
.stat-num{
  font-size:22px;font-weight:900;
  color:var(--teal);line-height:1;
  font-family:var(--font);
  transition:color .15s;
}
.stat-lbl{
  font-size:9px;font-weight:700;
  color:var(--text2);text-transform:uppercase;
  letter-spacing:.6px;line-height:1;
  font-family:var(--font);
  transition:color .15s;
}
.stat-btn.active .stat-num{color:#fff}
.stat-btn.active .stat-lbl{color:rgba(255,255,255,.80)}
.stat-sep{width:1px;background:var(--border);height:36px;flex-shrink:0}

/* SEARCH BAR */
.search-bar{
  display:flex;gap:8px;align-items:center;
  padding:8px 12px;background:transparent;
  border-top:none;
  margin:0 12px 4px;
  border-radius:0 0 12px 12px;
}
.search-bar.hidden{display:none}
.search-bar input{
  flex:1;padding:9px 12px;
  background:var(--bg);border:1.5px solid var(--border);
  border-radius:var(--radius-sm);color:var(--text);
  font-size:15px;outline:none;font-family:var(--font);
}
.search-bar input:focus{border-color:var(--teal)}
.search-bar button{background:none;border:none;color:var(--text2);cursor:pointer;padding:6px;display:flex;align-items:center}
/* ALBUM MAIN */
.album-main{padding:12px 12px 56px;background:var(--bg)}
@media(min-width:600px){.sticky-top{max-width:1200px;margin-left:auto;margin-right:auto}}
@media(min-width:600px){.album-main{max-width:1200px;margin:0 auto;padding:14px 24px 56px}}

/* SECTION */
.section-wrap{margin-bottom:10px;background:var(--bg-white);border-radius:12px;overflow:hidden}
.section-header{
  display:flex;align-items:center;gap:8px;
  padding:13px 12px;
  cursor:pointer;
  user-select:none;-webkit-user-select:none;
  background:var(--bg-white);
  border-bottom:1px solid var(--border);
  transition:background .15s;
}
.section-header:active{background:#f7f8f9}
.section-flag{width:24px;height:18px;object-fit:cover;border-radius:2px;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.section-title{font-size:15px;font-weight:800;color:var(--text);font-family:var(--font);letter-spacing:.2px}
.section-code{font-size:11px;color:var(--text3);font-weight:600;font-family:var(--font)}
.section-progress{margin-left:auto;font-size:12px;font-weight:700;color:var(--text2);font-family:var(--font)}
.section-progress.complete{color:var(--teal)}
.section-arrow{margin-left:6px;font-size:11px;color:var(--text3);transition:transform .2s;display:inline-block}
.section-wrap.collapsed .section-arrow{transform:rotate(-90deg)}
.section-grid-wrap{padding:8px;}
.section-wrap.collapsed .section-grid-wrap{display:none}

/* GRID */
.sticker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
@media(min-width:400px){.sticker-grid{grid-template-columns:repeat(6,1fr)}}
@media(min-width:520px){.sticker-grid{grid-template-columns:repeat(7,1fr)}}
@media(min-width:660px){.sticker-grid{grid-template-columns:repeat(9,1fr)}}
@media(min-width:800px){.sticker-grid{grid-template-columns:repeat(11,1fr)}}

/* STICKER CARD */
.sticker{
  position:relative;aspect-ratio:3/4;
  border-radius:8px;background:#eaecef url('img/cover_fig1.png') center/cover no-repeat;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  user-select:none;-webkit-user-select:none;
  overflow:hidden;transition:transform .1s;
}
.sticker::after{
  content:'';position:absolute;inset:0;border-radius:8px;
  border:1px solid #d4d8dd;
  pointer-events:none;
}
.sticker.have{background:var(--teal) url('img/cover_fig2.png') center/cover no-repeat}
.sticker.have::after{
  border:1px solid transparent;
}
.sticker.foil::after{
  border:1.5px solid #E8A800;
}
.sticker.have.foil::after{
  border:1.5px solid #E8A800;
}
.sticker:active{transform:scale(.90)}
.foil-pip{position:absolute;top:4px;left:4px;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--foil-gold2),var(--foil-gold));z-index:2}
.sticker-num{font-size:20px;font-weight:600;color:#3e4a55;text-align:center;letter-spacing:0;line-height:1;font-family:var(--font);padding:0 3px;position:relative;z-index:1}
.sticker.have .sticker-num{color:rgba(255,255,255,.9)}
/* Badge: top-right, bigger, inside */
.sticker-badge{
  position:absolute;top:4px;right:4px;
  background:var(--red-badge);color:#fff;
  border-radius:50%;width:20px;height:20px;
  font-size:11px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  z-index:3;font-family:var(--font);
}
.sticker.hidden-card{display:none}
.section-wrap.hidden-section{display:none}
/* OVERLAY */
.overlay-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.overlay-bg.open{opacity:1;pointer-events:auto}
.overlay{
  position:fixed;bottom:0;left:0;right:0;background:var(--bg-white);
  border-radius:22px 22px 0 0;padding:6px 20px 40px;
  z-index:201;max-height:82dvh;overflow-y:auto;
  transform:translateY(100%);
  transition:transform .38s cubic-bezier(0.32,0.72,0,1);
  will-change:transform;
}
.overlay.open{transform:translateY(0)}
@media(min-width:600px){
  .overlay{width:780px;max-width:90vw;left:50%;right:auto;transform:translate(-50%,100%);border-radius:22px 22px 0 0}
  .overlay.open{transform:translate(-50%,0)}
}
.overlay-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:6px auto 14px}
.ov-header{display:flex;align-items:center;margin-bottom:10px}
.ov-left{display:flex;align-items:center;gap:8px;flex:1}
.ov-code{font-size:28px;font-weight:900;color:var(--teal);font-family:var(--font);letter-spacing:.5px}
.foil-dot{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--foil-gold2),var(--foil-gold));flex-shrink:0}
.ov-close{background:#f0f2f4;border:none;color:var(--text2);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.ov-close:active{background:var(--border)}
.ov-team-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ov-flag{width:28px;height:21px;object-fit:cover;border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.15);flex-shrink:0}
.ov-section-name{font-size:14px;color:var(--text2);font-weight:700;font-family:var(--font);flex:1}
.ov-img-btn{background:#f0f2f4;border:none;border-radius:9px;color:var(--text2);padding:9px;cursor:pointer;display:flex;align-items:center;flex-shrink:0}
.ov-img-btn:active{background:var(--border)}
.ov-name{font-size:22px;font-weight:800;margin-bottom:18px;line-height:1.15;font-family:var(--font)}
#ov-img{width:100%;max-width:200px;border-radius:var(--radius);margin-bottom:16px;display:block;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.ov-actions{margin-bottom:0}
.btn-tengo{
  width:100%;padding:16px;background:#f0f2f4;border:none;
  border-radius:var(--radius);color:var(--text2);
  font-size:18px;font-weight:800;cursor:pointer;
  transition:all .18s;font-family:var(--font);
  text-transform:uppercase;letter-spacing:.5px;
}
.btn-tengo.active{background:var(--teal);color:#fff}
.btn-tengo:active{opacity:.8}
/* Repetidas - solo aparece al tener la figurita */
.ov-rep-section{
  display:flex;align-items:center;gap:10px;
  background:#f7f8f9;border-radius:var(--radius);
  padding:10px 14px;margin-top:10px;
}
.ov-rep-section.hidden{display:none}
.rep-info{flex:1;text-align:center;font-size:15px;font-weight:700;color:var(--text2);font-family:var(--font)}
.rep-minus,.rep-plus{
  background:var(--bg-white);border:1.5px solid var(--border);
  border-radius:8px;width:40px;height:40px;
  font-size:24px;font-weight:700;color:var(--text);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;transition:background .15s;
}
.rep-minus:active,.rep-plus:active{background:var(--border)}
.rep-minus
/* LOGIN PAGE */
.login-body{background:var(--bg);min-height:100dvh}
.login-simple{display:flex;align-items:center;justify-content:center;padding:20px}
.login-outer{width:100%;display:flex;justify-content:center}
.login-simple .login-outer{display:block}
.login-card{
  width:100%;max-width:400px;margin:0 auto;
  background:var(--bg-white);border-radius:20px;
  padding:28px 24px 32px;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:16px;
}
.login-brand-block{text-align:center;padding-bottom:4px}

.login-title{font-size:32px;font-weight:900;color:var(--teal);font-family:var(--font);text-transform:uppercase;letter-spacing:1px;line-height:1}
.login-subtitle{font-size:13px;color:var(--text2);margin-top:4px;font-family:var(--font)}
.login-error{
  background:#fff0f0;border:1.5px solid #ffc0c0;
  border-radius:10px;padding:10px 14px;
  color:var(--red);font-size:14px;font-weight:600;font-family:var(--font);
}
.hidden{display:none!important}

/* TOAST TOP */
.toast{
  position:fixed;top:14px;left:50%;
  transform:translateX(-50%) translateY(-10px);
  background:rgba(20,20,20,.92);color:#fff;
  padding:9px 20px;border-radius:24px;
  font-size:14px;font-weight:700;letter-spacing:.3px;
  opacity:0;transition:all .24s;z-index:400;
  pointer-events:none;white-space:nowrap;
  box-shadow:0 4px 20px rgba(0,0,0,.2);font-family:var(--font);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.toast-error{background:rgba(210,0,0,.92)}
.loading-spinner{display:flex;align-items:center;justify-content:center;height:160px}
.loading-spinner::after{content:'';width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* LOGIN PAGE */
.login-body{background:var(--bg);min-height:100dvh}
.login-simple{display:flex;align-items:center;justify-content:center;padding:20px}
.login-outer{width:100%;display:flex;justify-content:center}
.login-simple .login-outer{display:block}
.login-card{
  width:100%;max-width:400px;margin:0 auto;
  background:var(--bg-white);border-radius:20px;
  padding:28px 24px 32px;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:16px;
}
.login-brand-block{text-align:center;padding-bottom:4px}

.login-title{font-size:32px;font-weight:900;color:var(--teal);font-family:var(--font);text-transform:uppercase;letter-spacing:1px;line-height:1}
.login-subtitle{font-size:13px;color:var(--text2);margin-top:4px;font-family:var(--font)}
.login-error{
  background:#fff0f0;border:1.5px solid #ffc0c0;
  border-radius:10px;padding:10px 14px;
  color:var(--red);font-size:14px;font-weight:600;font-family:var(--font);
}
.hidden{display:none!important}
/* SLIDE MENU */
.menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:300;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.slide-menu{position:fixed;top:0;right:0;bottom:0;width:220px;background:#fff;z-index:301;display:flex;flex-direction:column;box-shadow:-8px 0 24px rgba(0,0,0,.18);transform:translateX(0);animation:slideIn .28s cubic-bezier(0.32,0.72,0,1)}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.slide-top{padding:20px 18px 14px;border-bottom:1px solid var(--border)}
.slide-uname{font-size:18px;font-weight:900;color:var(--text);font-family:var(--font);text-transform:uppercase;letter-spacing:.5px}
.slide-sub{font-size:12px;color:var(--text2);margin-top:2px;font-family:var(--font)}
.slide-item{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #f7f8f9;text-decoration:none;color:var(--text);transition:background .15s}
.slide-item:active{background:var(--bg2)}
.slide-item svg{flex-shrink:0;stroke:#00B4C8}
.slide-item span{font-size:15px;font-weight:600;font-family:var(--font)}
.slide-item.slide-danger svg{stroke:#E82020}
.slide-item.slide-danger span{color:#E82020}
.slide-badge{background:#E82020;color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-left:auto}

/* QR OVERLAY */
.qr-overlay{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);
  width:min(320px,90vw);background:#fff;border-radius:20px;
  padding:12px 20px 28px;z-index:201;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  transition:transform .3s cubic-bezier(0.32,0.72,0,1),opacity .3s;
  opacity:0;
}
.qr-overlay.open{transform:translate(-50%,-50%) scale(1);opacity:1}
.qr-overlay .ov-close{position:absolute;top:12px;right:14px;background:#f0f2f4;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2)}
.qr-name{font-size:22px;font-weight:900;color:var(--text);font-family:var(--font);text-transform:uppercase;letter-spacing:.5px}
.qr-username{font-size:13px;color:var(--text2);font-family:var(--font);margin-top:-6px}
.qr-box{width:160px;height:160px;border-radius:10px;border:1.5px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 auto;padding:12px}
.qr-box canvas{width:100%;height:100%;image-rendering:pixelated}
.qr-link{font-size:12px;font-weight:700;color:var(--teal);background:var(--teal-light,#e0f6fa);border-radius:8px;padding:9px 12px;width:100%;text-align:center;font-family:var(--font);display:flex;align-items:center;justify-content:center;gap:4px;transition:opacity .15s;-webkit-user-select:none;user-select:none}.qr-link:active{opacity:.75}
.qr-actions{display:flex;flex-direction:column;gap:8px;width:100%}
.qr-btn-main{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;background:var(--teal);color:#fff;border:none;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font);width:100%}
.qr-btn-main:active{opacity:.85}
.qr-btn-sec{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px;background:var(--bg2);color:var(--text2);border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font);width:100%}
.qr-btn-sec:active{opacity:.8}

/* INTERNAL PAGE HEADER */
.page-header{background:#fff;display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.page-back{width:32px;height:32px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;flex-shrink:0;text-decoration:none}
.page-back:active{background:var(--bg3)}
.page-title{font-size:17px;font-weight:800;color:var(--text);font-family:var(--font);flex:1}
.page-badge{background:var(--red-badge);color:#fff;border-radius:50%;width:20px;height:20px;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:var(--font)}
/* FRIEND CARDS */
.friend-card{background:#fff;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px;margin-bottom:6px;text-decoration:none}
.friend-av{width:40px;height:40px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;font-family:var(--font)}
.friend-name{font-size:15px;font-weight:700;color:var(--text);font-family:var(--font)}
.friend-sub{font-size:11px;color:var(--text2);margin-top:1px;font-family:var(--font)}
.friend-pct{margin-left:auto;font-size:18px;font-weight:800;color:var(--teal);font-family:var(--font)}
.btn-sm-ok{padding:6px 12px;border-radius:7px;font-size:12px;font-weight:700;border:none;cursor:pointer;background:var(--teal);color:#fff;font-family:var(--font)}
.btn-sm-no{padding:6px 12px;border-radius:7px;font-size:12px;font-weight:700;border:none;cursor:pointer;background:var(--bg2);color:var(--text2);font-family:var(--font)}

/* NOTIF CARDS */
.notif-card{background:#fff;border-radius:10px;padding:10px 12px;display:flex;align-items:flex-start;gap:10px;margin-bottom:6px}
.notif-card.notif-read{opacity:.55}
.notif-icon-wrap{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.notif-type-friend_request{background:#e0f6fa;color:var(--teal)}
.notif-type-exchange_request{background:#fff8e0;color:#E8A800}
.notif-type-exchange_confirmed{background:#eaf3de;color:#3B6D11}
.notif-msg{font-size:13px;font-weight:500;color:var(--text);line-height:1.3}
.notif-time{font-size:11px;color:var(--text2);margin-top:3px;font-family:var(--font)}
/* INNER PAGES */
.inner-page{background:var(--bg);min-height:100vh}
.inner-body{padding:10px 12px 40px;max-width:600px;margin:0 auto}
.inner-section-lbl{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;padding:6px 2px 8px;font-family:var(--font)}

/* EMPTY STATE */
.empty-state{text-align:center;padding:40px 20px 30px;display:flex;flex-direction:column;align-items:center;gap:12px}
.empty-icon{width:72px;height:72px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center}
.empty-title{font-size:20px;font-weight:800;color:var(--text);font-family:var(--font)}
.empty-sub{font-size:14px;color:var(--text2);font-family:var(--font);line-height:1.4;max-width:260px}
.empty-btn-main{display:block;width:100%;max-width:260px;padding:14px;background:var(--teal);color:#fff;border:none;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font);text-decoration:none;text-align:center}
.empty-btn-main:active{opacity:.85}

/* ADD USERNAME */
.add-username-wrap{width:100%;max-width:600px}
.add-username-input{flex:1;padding:12px 14px;background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:15px;outline:none;font-family:var(--font);min-width:0}
.add-username-input:focus{border-color:var(--teal)}
.add-username-btn{padding:12px 16px;background:var(--teal);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font);white-space:nowrap;flex-shrink:0}
.add-username-btn:active{opacity:.85}
/* QR PROFILE SWITCH */
.qr-switch-row{display:flex;align-items:center;gap:10px;background:#f7f8f9;border-radius:10px;padding:10px 12px;width:100%}
.qr-sw-text{flex:1;min-width:0}
.qr-sw-label{font-size:13px;font-weight:700;color:var(--text);display:block;font-family:var(--font)}
.qr-sw-sub{font-size:11px;color:var(--text2);display:block;margin-top:1px;font-family:var(--font)}
.qr-toggle{width:44px;height:26px;border-radius:13px;background:#d0d4d8;border:none;cursor:pointer;position:relative;flex-shrink:0;transition:background .2s;padding:0}
.qr-toggle.on{background:var(--teal)}
.qr-toggle-knob{position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:left .2s;box-shadow:0 1px 4px rgba(0,0,0,.2);display:block}
.qr-toggle.on .qr-toggle-knob{left:21px}
/* PERFIL PAGE */
.perfil-hero{background:#fff;padding:24px 20px 16px;text-align:center;border-bottom:1px solid var(--border)}
.perfil-avatar{width:68px;height:68px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;font-family:var(--font);margin:0 auto 10px}
.perfil-name{font-size:24px;font-weight:900;color:var(--text);font-family:var(--font);text-transform:uppercase;letter-spacing:.5px}
.perfil-stats{display:flex;align-items:center;justify-content:center;gap:0;margin-top:14px;background:var(--bg2);border-radius:12px;overflow:hidden;max-width:220px;margin-left:auto;margin-right:auto}
.perfil-stat{flex:1;padding:10px 8px;text-align:center}
.perfil-stat-div{width:1px;background:var(--border);height:32px;flex-shrink:0}
.perfil-stat-n{display:block;font-size:20px;font-weight:800;color:var(--teal);font-family:var(--font);line-height:1}
.perfil-stat-l{display:block;font-size:10px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.3px;font-family:var(--font);margin-top:2px}
.perfil-action{padding:14px 16px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:center}
.perfil-btn-main{display:inline-block;padding:13px 28px;background:var(--teal);color:#fff;border:none;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font);text-decoration:none;text-align:center;min-width:220px}
.perfil-btn-main:active{opacity:.85}
.perfil-tag-ok{padding:12px 20px;background:#e0f6fa;border-radius:var(--radius);font-size:14px;font-weight:700;color:var(--teal);font-family:var(--font)}
.perfil-tag-pend{padding:12px 20px;background:var(--bg2);border-radius:var(--radius);font-size:14px;font-weight:600;color:var(--text2);font-family:var(--font)}
/* PERFIL PAGE v2 */
.perfil-page-wrap{max-width:1200px;margin:0 auto;background:var(--bg)}
.perfil-card{background:#fff;padding:24px 20px 16px;text-align:center;border-bottom:1px solid var(--border);position:relative;max-width:1200px;margin:0 auto}
.perfil-back-btn{position:absolute;top:14px;left:14px;width:32px;height:32px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text2);transition:background .15s}
.perfil-back-btn:active{background:var(--bg3)}
.perfil-avatar{width:68px;height:68px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;font-family:var(--font);margin:0 auto 10px}
.perfil-name{font-size:22px;font-weight:900;color:var(--text);font-family:var(--font);text-transform:uppercase;letter-spacing:.5px;line-height:1}
.perfil-username{font-size:13px;color:var(--text2);font-family:var(--font);margin-top:3px;margin-bottom:12px}
.perfil-stats{display:flex;align-items:center;justify-content:center;gap:0;background:var(--bg2);border-radius:12px;overflow:hidden;max-width:220px;margin:0 auto 14px}
.perfil-stat{flex:1;padding:10px 8px;text-align:center}
.perfil-stat-div{width:1px;background:var(--border);height:32px;flex-shrink:0}
.perfil-stat-n{display:block;font-size:20px;font-weight:800;color:var(--teal);font-family:var(--font);line-height:1}
.perfil-stat-l{display:block;font-size:10px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.3px;font-family:var(--font);margin-top:2px}
.perfil-action-row{display:flex;justify-content:center;padding-top:4px}
.perfil-btn-main{display:inline-flex;align-items:center;justify-content:center;padding:13px 28px;background:var(--teal);color:#fff;border:none;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font);text-decoration:none;min-width:200px}
.perfil-btn-main:active{opacity:.85}
.perfil-tag-ok{padding:11px 20px;background:#e0f6fa;border-radius:var(--radius);font-size:14px;font-weight:700;color:var(--teal);font-family:var(--font)}
.perfil-tag-pend{padding:11px 20px;background:var(--bg2);border-radius:var(--radius);font-size:14px;font-weight:600;color:var(--text2);font-family:var(--font)}
.perfil-album-wrap{background:var(--bg);padding:4px 0 40px}
.perfil-hint{font-size:12px;color:var(--text2);text-align:center;padding:10px 16px 4px;font-family:var(--font)}

/* NOTIF ACTIONS */
.notif-actions{display:flex;gap:8px;margin-top:8px}

/* EXCHANGE OVERLAY */
.exch-owner-line{font-size:13px;color:var(--text2);margin-bottom:12px;font-family:var(--font)}
.exch-offers-wrap{margin-bottom:10px}
.exch-offers-lbl{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px;font-family:var(--font)}
.exch-offers-grid{display:flex;flex-wrap:wrap;gap:7px;max-height:140px;overflow-y:auto}
.exch-offer-card{background:var(--bg2);border:1.5px solid var(--border);border-radius:9px;padding:8px 10px;cursor:pointer;transition:all .15s;min-width:80px;flex-shrink:0}
.exch-offer-card:active{opacity:.8}
.exch-offer-card.selected{background:var(--teal-light,#e0f6fa);border-color:var(--teal)}
.exch-offer-code{font-size:14px;font-weight:800;color:var(--teal);font-family:var(--font)}
.exch-offer-name{font-size:10px;color:var(--text2);font-family:var(--font);margin-top:1px;line-height:1.2;max-width:100px}
.exch-no-offers{font-size:13px;color:var(--text2);font-family:var(--font);line-height:1.4;padding:10px 0}
.exch-selected-wrap{display:flex;align-items:center;gap:8px;background:var(--bg2);border-radius:9px;padding:9px 12px;margin-bottom:4px}
.exch-selected-lbl{font-size:12px;font-weight:700;color:var(--text2);font-family:var(--font)}
.exch-selected-val{font-size:13px;font-weight:700;color:var(--teal);flex:1;font-family:var(--font)}
.exch-clear-btn{background:none;border:none;color:var(--text2);font-size:16px;cursor:pointer;padding:2px 4px;flex-shrink:0}
/* HEADER ALERT BADGE */
.hdr-btn-menu{position:relative}
.hdr-alert-badge{position:absolute;top:-4px;right:-4px;background:var(--red-badge);color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:var(--font);pointer-events:none}
.hdr-btn{width:40px;height:40px;border-radius:50%}

/* SCROLL TO TOP */
.scroll-top-btn{position:fixed;bottom:24px;right:16px;width:44px;height:44px;border-radius:50%;background:var(--teal);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,180,200,.35);z-index:90;transition:opacity .2s,transform .2s}
.scroll-top-btn.scrollhide{opacity:0;pointer-events:none;transform:translateY(10px)}
.scroll-top-btn:active{opacity:.8}
@media(min-width:1260px){.scroll-top-btn{right:calc((100vw - 1200px)/2 - 56px);bottom:32px}}
/* BIG NOTIF CARDS */
.notif-card-big{background:#fff;border-radius:14px;padding:14px;margin-bottom:10px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.notif-card-big.notif-read{opacity:.6}
.notif-card-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.notif-icon-wrap{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.notif-card-text{flex:1}
.notif-msg{font-size:14px;font-weight:600;color:var(--text);line-height:1.35}
.notif-time{font-size:11px;color:var(--text2);margin-top:3px;font-family:var(--font)}
.notif-actions{display:flex;gap:10px;margin-top:10px}
.notif-actions .btn-sm-ok{padding:11px 20px;font-size:14px}
.notif-actions .btn-sm-no{padding:11px 20px;font-size:14px}

/* STICKER PREVIEW IN NOTIF */
.notif-sticker-preview{display:flex;align-items:center;gap:12px;background:var(--bg2);border-radius:10px;padding:10px 12px;margin-bottom:10px}
.nsp-card{width:44px;height:58px;border-radius:7px;background:#eaecef;border:1px solid #d4d8dd;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.nsp-card.foil{border:1.5px solid #E8A800}
.nsp-card .sticker-num{font-size:9px;font-weight:800;color:#3e4a55;position:relative;z-index:1}
.nsp-info{flex:1;min-width:0}
.nsp-code{font-size:16px;font-weight:900;color:var(--teal);font-family:var(--font);line-height:1}
.nsp-name{font-size:13px;font-weight:600;color:var(--text);font-family:var(--font);line-height:1.2;margin-top:1px}
.nsp-team{font-size:11px;color:var(--text2);margin-top:2px;font-family:var(--font)}
.nsp-offer{font-size:11px;color:var(--text2);margin-top:3px;font-family:var(--font)}
.nsp-go-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--teal);color:#fff;border-radius:10px;padding:8px 10px;text-decoration:none;font-size:11px;font-weight:700;font-family:var(--font);flex-shrink:0;transition:opacity .15s}
.nsp-go-btn:active{opacity:.8}
/* NOTIF EXPAND */
.notif-expand-arrow{flex-shrink:0;color:var(--text2);transition:transform .2s;display:flex;align-items:center}
.notif-expand{border-top:1px solid var(--border);padding-top:10px;margin-top:6px}
.notif-sticker-detail{display:flex;align-items:center;gap:12px;background:var(--bg2);border-radius:10px;padding:10px 12px}
.nsd-card{width:50px;height:66px;border-radius:8px;background:#eaecef;border:1px solid #d4d8dd;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.nsd-card.foil{border:1.5px solid #E8A800}
.nsd-card .sticker-num{font-size:10px;font-weight:800;color:#3e4a55;position:relative;z-index:1}
.nsd-info{flex:1;min-width:0}
.nsd-code{font-size:18px;font-weight:900;color:var(--teal);font-family:var(--font);line-height:1}
.nsd-name{font-size:14px;font-weight:700;color:var(--text);font-family:var(--font);line-height:1.2;margin-top:2px}
.nsd-team{font-size:12px;color:var(--text2);margin-top:3px;font-family:var(--font)}
.nsd-offer{font-size:12px;color:var(--text2);margin-top:4px;font-family:var(--font)}

/* FULL WIDTH ACCEPT/REJECT BUTTONS */
.notif-actions-full{display:flex;gap:0;margin-top:12px;border-radius:var(--radius);overflow:hidden}
.notif-btn-reject{flex:1;padding:15px;background:#f0f2f4;border:none;color:var(--red-badge);font-size:16px;font-weight:800;font-family:var(--font);cursor:pointer;border-right:1px solid var(--border);transition:background .15s;text-transform:uppercase;letter-spacing:.3px}
.notif-btn-accept{flex:1;padding:15px;background:var(--teal);border:none;color:#fff;font-size:16px;font-weight:800;font-family:var(--font);cursor:pointer;transition:background .15s;text-transform:uppercase;letter-spacing:.3px}
.notif-btn-reject:active{background:#ffe0e0}
.notif-btn-accept:active{opacity:.85}
@media(min-width:1200px){.app-header{max-width:1200px;margin:0 auto;}.hdr-controls{left:0;right:0;}.hdr-username{left:60px;right:60px;}}