
.page-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;border-bottom:1px solid rgba(255,255,255,.04);background:rgba(9,7,15,.94);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.page-title{margin:2px 0 0;font-size:24px}.page-eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--text-muted);font-weight:800}.app-page{display:none;min-height:100dvh;padding-bottom:100px}.app-page.page-active,.app-page.screen-active{display:block}.page-scroll{padding:16px}.panel-card{border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-soft)}.search-box{display:flex;gap:10px;align-items:center;padding:0 14px;height:52px;border:1px solid var(--border-strong);border-radius:16px;background:rgba(255,255,255,.035);margin-bottom:14px}.search-box input{flex:1;height:48px;border:0;outline:0;background:transparent;color:#fff}.explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px}.profile-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;border:2px solid rgba(243,72,137,.35)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.profile-stats>*{padding:14px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025);text-align:center;color:#fff}.profile-stats strong,.profile-stats span{display:block}.profile-stats span{font-size:9px;color:var(--text-muted);margin-top:4px}.profile-levels{display:grid;grid-template-columns:1fr 1fr;gap:10px}.level-card{padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025)}.level-card span,.level-card strong,.level-card small{display:block}.level-card strong{margin:7px 0 4px}.level-card small{color:var(--text-muted)}.wallet-card{padding:24px;border:1px solid rgba(242,188,105,.2);border-radius:24px;background:radial-gradient(circle at 85% 20%,rgba(242,188,105,.18),transparent 28%),linear-gradient(145deg,#241b12,#151018 65%)}.wallet-card strong{display:block;font-size:40px;margin:8px 0}.transaction-list,.notification-list,.ticket-list{display:grid;gap:9px}.transaction-item,.notification-item,.ticket-item{padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}.vip-list,.inventory-grid{display:grid;gap:12px}.vip-card,.inventory-card{padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025)}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-preview{height:110px;border-radius:14px;overflow:hidden;background:#14101e;display:grid;place-items:center}.inventory-preview img{width:100%;height:100%;object-fit:cover}.room-page{padding-bottom:0!important;min-height:100dvh;background:radial-gradient(circle at 50% 10%,rgba(143,88,255,.12),transparent 30%),var(--bg)}.room-header{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px}.room-header h2{margin:0;font-size:17px;text-align:center}.room-header small{display:block;text-align:center;color:var(--text-muted)}.room-stage{padding:14px}.room-cover-stage{height:110px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#24102e,#0e1530);background-size:cover;background-position:center}.room-seats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px;margin-top:20px}.seat{text-align:center}.seat-avatar{width:58px;height:58px;border-radius:50%;margin:auto;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border-strong);background:rgba(255,255,255,.035)}.seat-avatar img{width:100%;height:100%;object-fit:cover}.seat strong{display:block;margin-top:6px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-chat{border-top:1px solid var(--border);background:rgba(10,8,15,.96)}.room-chat-list{height:135px;overflow-y:auto;padding:10px 14px}.chat-message{font-size:11px;margin-bottom:7px}.chat-message b{color:var(--pink-soft)}.room-chat-form{display:grid;grid-template-columns:1fr 44px;gap:8px;padding:8px 12px}.room-chat-form input{height:42px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.035);color:#fff;padding:0 12px;outline:0}.room-chat-form button{border-radius:14px;background:var(--pink-strong);color:#fff}.room-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 12px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border)}.room-actions button{min-height:56px;border-radius:15px;background:rgba(255,255,255,.035);color:var(--text-soft)}.room-actions button.active{background:rgba(243,72,137,.16);color:#fff}.form-stack{display:grid;gap:14px;padding:18px}.textarea-shell textarea{width:100%;min-height:90px;border:0;outline:0;background:transparent;color:#fff;padding-top:12px}.bottom-nav{position:fixed;z-index:70;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,1fr);min-height:68px;padding:7px 5px;border:1px solid var(--border-strong);border-radius:24px;background:rgba(9,7,15,.94);box-shadow:0 18px 50px rgba(0,0,0,.42);backdrop-filter:blur(22px)}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);background:transparent;font-size:9px}.nav-item-active{color:var(--pink-soft)}.nav-create .nav-icon{display:grid;place-items:center;width:48px;height:48px;margin-top:-29px;border-radius:50%;background:linear-gradient(145deg,#ff5b94,#d92571);color:#fff;font-size:28px}.global-toast{position:fixed;z-index:200;left:50%;bottom:100px;max-width:calc(100% - 32px);padding:11px 15px;border:1px solid var(--border);border-radius:14px;background:rgba(25,19,34,.97);color:#fff;transform:translate(-50%,18px);opacity:0;pointer-events:none;transition:.18s}.global-toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;z-index:180;inset:0;display:grid;place-items:end center;padding:16px;background:rgba(0,0,0,.56);backdrop-filter:blur(6px)}.modal-card{width:min(100%,560px);max-height:82dvh;overflow:auto;border:1px solid var(--border-strong);border-radius:24px;background:#14101d}.hidden{display:none!important}.small-button{min-height:38px;padding:0 14px;border-radius:12px;background:rgba(243,72,137,.15);color:#fff;font-weight:800}.section-block{margin-top:16px}.section-block h3{margin:0 0 10px}.settings-list button{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:0 16px;border-bottom:1px solid var(--border);background:transparent;color:#fff}.settings-list button:last-child{border-bottom:0}.danger{color:var(--danger)!important}@media(min-width:700px){.app-page{max-width:980px;margin:auto}.bottom-nav{left:50%;width:min(620px,calc(100% - 24px));transform:translateX(-50%)}}


/* ===== VoiceApp Room V104 ===== */
.room-page{padding-bottom:0!important;min-height:100dvh;height:100dvh;overflow:hidden;background:radial-gradient(circle at 70% -10%,rgba(137,84,255,.20),transparent 34%),linear-gradient(180deg,#100b18 0%,#09070f 100%)}
.room-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.room-header-v104{flex:0 0 auto;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;border-bottom:1px solid rgba(255,255,255,.045);background:rgba(11,8,17,.88);backdrop-filter:blur(18px);z-index:5}
.room-circle-button{width:40px;height:40px;border:1px solid rgba(255,255,255,.08);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.045);color:#fff;font-size:18px}
.room-heading{min-width:0}.room-heading h2{margin:0;font-size:16px;line-height:1.2;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-heading-meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:10px;color:var(--text-muted)}.room-heading-meta i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.25)}
.room-header-actions{display:flex;align-items:center;gap:7px}.room-status-pill{height:28px;padding:0 9px;border-radius:99px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.045);color:var(--text-muted);font-size:9px;font-weight:800}.room-status-pill.can-speak{color:#bffbd8;border-color:rgba(78,224,143,.20);background:rgba(78,224,143,.08)}
.room-main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.room-cover-v104{position:relative;flex:0 0 104px;height:104px;margin:10px 12px 0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 25% 30%,rgba(241,75,147,.28),transparent 28%),radial-gradient(circle at 80% 20%,rgba(133,91,255,.30),transparent 30%),linear-gradient(135deg,#24142e,#101426 66%,#0f0b16);background-size:cover;background-position:center;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.room-cover-v104.has-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,13,.84),rgba(8,6,13,.25) 65%,rgba(8,6,13,.05))}.room-cover-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:12px;z-index:1}.room-live-badge{align-self:flex-start;display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:99px;background:rgba(8,6,13,.64);border:1px solid rgba(255,255,255,.08);font-size:8px;letter-spacing:.8px;font-weight:900}.room-live-badge b{width:6px;height:6px;border-radius:50%;background:#ff4f84;box-shadow:0 0 10px rgba(255,79,132,.8)}.room-cover-copy strong,.room-cover-copy small{display:block}.room-cover-copy strong{font-size:16px;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-cover-copy small{margin-top:3px;color:rgba(255,255,255,.62);font-size:9px;max-width:86%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-stage-v104{flex:0 0 auto;padding:12px 12px 8px}.room-stage-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:9px}.room-stage-title strong,.room-stage-title small{display:block}.room-stage-title strong{font-size:13px}.room-stage-title small{margin-top:2px;color:var(--text-muted);font-size:8px}.room-stage-title button{height:28px;padding:0 10px;border-radius:99px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);color:var(--text-soft);font-size:9px}
.room-seats-v104{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 5px;margin-top:0}.room-seat{position:relative;min-width:0;padding:0 1px;background:transparent;color:#fff;text-align:center;overflow:visible}.room-seat .seat-avatar{position:relative;width:50px;height:50px;margin:0 auto;border-radius:50%;display:grid;place-items:center;overflow:visible;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);transition:.18s transform,.18s border-color,.18s box-shadow}.room-seat .seat-avatar>img{width:100%;height:100%;border-radius:50%;object-fit:cover;overflow:hidden}.room-seat .seat-avatar>span:not(.seat-mic-state){font-weight:900}.room-seat .seat-plus{font-size:24px;color:rgba(255,255,255,.34);font-weight:300!important}.room-seat strong{display:block;margin-top:5px;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-seat small{display:block;margin-top:2px;font-size:7px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-seat:active .seat-avatar{transform:scale(.96)}.room-seat.seat-empty:not(.seat-locked) .seat-avatar{border-style:dashed;border-color:rgba(255,255,255,.14)}.room-seat.seat-self .seat-avatar{border:2px solid #ff4f93;box-shadow:0 0 0 3px rgba(255,79,147,.10),0 0 18px rgba(255,79,147,.22)}.room-seat.seat-host .seat-avatar{border-color:#e7b968}.seat-number{position:absolute;z-index:3;top:0;left:2px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#17121e;border:1px solid rgba(255,255,255,.08);font-size:7px;color:var(--text-muted)}.seat-mic-state{position:absolute;right:-3px;bottom:0;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#15111d;border:2px solid #0b0811;color:#70e8a6;font-size:6px}.seat-muted .seat-mic-state{color:#ff6e88}.seat-locked{opacity:.48}
.room-chat-v104{flex:1;min-height:120px;display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.055);background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,.005))}.room-chat-tabs{flex:0 0 35px;display:flex;align-items:end;gap:20px;padding:0 14px}.room-chat-tabs button{height:35px;position:relative;background:transparent;color:var(--text-muted);font-size:10px;font-weight:800}.room-chat-tabs button.active{color:#fff}.room-chat-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:#ff4f93}.room-chat-list{flex:1;min-height:0;height:auto;overflow-y:auto;padding:9px 14px 6px}.chat-message{display:flex;align-items:baseline;gap:5px;font-size:10px;margin-bottom:7px}.chat-message b{color:#ff77ad}.chat-message span{color:rgba(255,255,255,.78)}.room-system-message{display:inline-block;margin-bottom:8px;padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.035);color:var(--text-muted);font-size:8px}
.room-chat-form-v104{flex:0 0 48px;display:grid;grid-template-columns:26px minmax(0,1fr) 34px 34px;gap:5px;align-items:center;padding:5px 10px 7px;border-top:1px solid rgba(255,255,255,.045);background:rgba(9,7,14,.86)}.room-chat-form-v104 input{height:36px;border:0;border-radius:13px;background:rgba(255,255,255,.055);padding:0 10px;font-size:10px}.chat-face{display:grid;place-items:center;color:rgba(255,255,255,.55);font-size:17px}.room-chat-form-v104 .chat-gift-button,.room-chat-form-v104 .chat-send-button{width:34px;height:34px;border-radius:12px;display:grid;place-items:center}.room-chat-form-v104 .chat-gift-button{background:rgba(255,255,255,.045)}.room-chat-form-v104 .chat-send-button{background:linear-gradient(145deg,#ff5b94,#dc286f);color:#fff}
.room-actions-v104{flex:0 0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:6px 8px calc(7px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.06);background:rgba(9,7,14,.96);backdrop-filter:blur(18px)}.room-actions-v104 button{min-height:48px;border-radius:14px;background:transparent;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.room-actions-v104 button.active{color:#fff;background:rgba(255,255,255,.045)}.room-actions-v104 button.disabled{opacity:.42}.room-actions-v104 button:disabled{pointer-events:auto}.room-action-icon{font-size:18px;line-height:1}.room-actions-v104 small{font-size:7px;font-weight:800}.room-actions-v104 .room-leave-main{color:#ff728d}.room-actions-v104 .room-leave-main .room-action-icon{width:34px;height:34px;margin-top:-12px;border-radius:50%;display:grid;place-items:center;background:#e34362;color:#fff;box-shadow:0 5px 18px rgba(227,67,98,.28)}
.room-audio-elements{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.room-sheet-actions{display:grid;gap:9px}.room-sheet-summary,.room-info-card{padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}.room-sheet-summary span,.room-info-card span,.room-info-card small{display:block;color:var(--text-muted);font-size:9px}.room-sheet-summary strong{display:block;margin-top:4px;font-size:24px}.room-info-card strong{display:block;margin:5px 0;font-size:18px}.room-sheet-button{width:100%;min-height:48px;padding:0 14px;border-radius:14px;text-align:left;background:rgba(255,255,255,.045);color:#fff;border:1px solid rgba(255,255,255,.06)}.room-members-list{display:grid;gap:7px}.room-member-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-radius:14px;background:rgba(255,255,255,.025)}.room-member-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.06);font-weight:900}.room-member-avatar img{width:100%;height:100%;object-fit:cover}.room-member-row strong,.room-member-row small{display:block}.room-member-row strong{font-size:11px}.room-member-row small{margin-top:2px;color:var(--text-muted);font-size:8px}.member-role-badge{color:#e7b968;font-size:18px}
@media(max-height:700px){.room-cover-v104{flex-basis:82px;height:82px}.room-stage-v104{padding-top:8px;padding-bottom:5px}.room-seat .seat-avatar{width:43px;height:43px}.room-seats-v104{gap:6px 5px}.room-seat strong{margin-top:3px}.room-chat-v104{min-height:100px}}


/* ===== VoiceApp Room V107: perfil social, moderação e configurações ===== */
.room-member-clickable{width:100%;border:0;color:#fff;text-align:left}
.member-open-arrow{font-size:22px;color:var(--text-muted)}
.room-profile-loading{padding:24px;text-align:center;color:var(--text-muted)}
.room-user-profile{position:relative;text-align:center}
.room-user-profile-top{width:92px;margin:2px auto 0}
.room-user-profile-avatar{width:92px;height:92px;border-radius:50%;overflow:hidden;display:grid;place-items:center;margin:auto;border:2px solid rgba(255,79,147,.45);background:rgba(255,255,255,.055);font-size:28px;font-weight:900}
.room-user-profile-avatar img{width:100%;height:100%;object-fit:cover}
.room-user-menu-button{position:absolute;top:0;right:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);color:#fff;font-weight:900;letter-spacing:1px}
.room-user-profile h3{margin:11px 0 3px;font-size:20px}
.room-user-profile-meta{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--text-muted);font-size:9px}.room-user-profile-meta i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.25)}
.room-user-bio{margin:12px auto 0;max-width:350px;color:var(--text-soft);font-size:10px;line-height:1.5}
.room-user-levels,.room-user-social{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}
.room-user-social{grid-template-columns:repeat(2,1fr)}
.room-user-levels div,.room-user-social div{padding:11px 7px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}
.room-user-levels strong,.room-user-levels small,.room-user-social strong,.room-user-social small{display:block}.room-user-levels strong,.room-user-social strong{font-size:14px}.room-user-levels small,.room-user-social small{margin-top:3px;font-size:8px;color:var(--text-muted)}
.room-follow-button{width:100%;min-height:46px;margin-top:14px;border-radius:14px;background:linear-gradient(145deg,#ff5b94,#dc286f);color:#fff;font-weight:900}.room-follow-button.following{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text-soft)}
.room-profile-self-label{margin-top:14px;padding:11px;border-radius:13px;background:rgba(255,255,255,.035);color:var(--text-muted);font-size:9px}
.room-user-action-summary{padding:13px 14px;border-radius:15px;border:1px solid var(--border);background:rgba(255,255,255,.025)}.room-user-action-summary strong,.room-user-action-summary small{display:block}.room-user-action-summary small{margin-top:4px;color:var(--text-muted);font-size:8px}
.room-sheet-button.warning{color:#ffc66c}
.room-settings-highlight{border-color:rgba(255,79,147,.18);background:rgba(255,79,147,.08)}
.room-admin-form,.room-upload-settings{display:grid;gap:11px}
.room-admin-form label,.room-upload-settings label{display:grid;gap:6px}.room-admin-form label>span,.room-upload-settings label>span{font-size:9px;font-weight:800;color:var(--text-muted)}
.room-admin-form input,.room-admin-form textarea,.room-admin-form select,.room-upload-settings input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.035);color:#fff;padding:10px 12px;outline:0}
.room-admin-form textarea{min-height:82px;resize:vertical}
.room-admin-form select option{background:#14101d;color:#fff}
.room-toggle-line{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.025)}.room-toggle-line div strong,.room-toggle-line div small{display:block}.room-toggle-line div small{margin-top:3px;color:var(--text-muted);font-size:8px}.room-toggle-line input{width:20px!important;min-height:20px!important}
.room-primary-button,.room-danger-confirm,.room-secondary-button{width:100%;min-height:46px;border-radius:14px;font-weight:900}.room-primary-button{background:linear-gradient(145deg,#ff5b94,#dc286f);color:#fff}.room-danger-confirm{background:#d53d5d;color:#fff}.room-secondary-button{background:rgba(255,255,255,.05);border:1px solid var(--border);color:#fff}
.room-settings-divider{height:1px;background:var(--border);margin:16px 0}
.room-banned-list{display:grid;gap:8px}.room-banned-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border-radius:14px;background:rgba(255,255,255,.025)}.room-banned-row strong,.room-banned-row small{display:block}.room-banned-row small{margin-top:3px;color:var(--text-muted);font-size:8px}.room-banned-row button{height:34px;padding:0 10px;border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:8px}.room-back-settings{margin-top:12px}

/* V108 - editor de avatar e enquadramento consistente */
.profile-avatar-upload-row{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025)}
.profile-avatar-preview{width:92px;height:92px;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:2px solid rgba(243,72,137,.4);background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.12),transparent 35%),#17111f;color:var(--text-muted);font-size:11px;font-weight:800}
.profile-avatar-preview img{width:100%;height:100%;object-fit:cover;object-position:center}
.profile-avatar-upload-copy{display:grid;gap:7px;min-width:0}
.profile-avatar-upload-copy strong{font-size:13px}
.profile-avatar-upload-copy small{color:var(--text-muted);font-size:10px;line-height:1.45}
.profile-avatar-upload-copy .file-input{width:100%;max-width:100%;font-size:11px;color:var(--text-soft)}
.profile-avatar,.room-user-profile-avatar,.seat-avatar,.room-member-avatar{background-position:center;background-size:cover}
.profile-avatar img,.room-user-profile-avatar img,.seat-avatar img,.room-member-avatar img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:380px){.profile-avatar-upload-row{grid-template-columns:76px 1fr}.profile-avatar-preview{width:76px;height:76px}}


/* ===== VoiceApp V114: painel de presentes ===== */
body.gift-panel-open{overflow:hidden}
.gift-panel-backdrop{
    position:fixed;z-index:165;inset:0;display:flex;align-items:flex-end;justify-content:center;
    background:rgba(0,0,0,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.gift-panel{
    width:min(100%,700px);height:min(58dvh,560px);min-height:390px;
    display:flex;flex-direction:column;overflow:hidden;
    border:1px solid rgba(255,255,255,.08);border-bottom:0;
    border-radius:28px 28px 0 0;
    background:linear-gradient(180deg,rgba(18,14,25,.995),rgba(8,7,12,.995));
    box-shadow:0 -22px 60px rgba(0,0,0,.5);
    animation:giftPanelIn .2s ease-out;
    padding-bottom:env(safe-area-inset-bottom,0px);
}
@keyframes giftPanelIn{from{transform:translateY(32px);opacity:.7}to{transform:translateY(0);opacity:1}}
.gift-panel-handle{flex:0 0 auto;width:42px;height:4px;margin:8px auto 3px;border-radius:99px;background:rgba(255,255,255,.18)}
.gift-panel-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:8px 16px 10px}
.gift-panel-header h3{margin:2px 0 0;font-size:18px;color:#fff}
.gift-panel-eyebrow{font-size:8px;letter-spacing:1.5px;font-weight:900;color:#ff76aa}
.gift-panel-close{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.075);color:#fff;font-size:22px}
.gift-categories{flex:0 0 auto;display:flex;gap:18px;overflow-x:auto;padding:0 16px 4px;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.045)}
.gift-categories::-webkit-scrollbar{display:none}
.gift-categories button{position:relative;flex:0 0 auto;height:38px;padding:0 1px;background:transparent;color:rgba(255,255,255,.48);font-size:12px;font-weight:800}
.gift-categories button.active{color:#ff8a42}
.gift-categories button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:99px;background:#ff941f}
.gift-grid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:12px 8px;padding:14px 12px}
.gift-card{position:relative;min-width:0;padding:5px 4px 7px;border:1px solid transparent;border-radius:14px;background:transparent;color:#fff;text-align:center}
.gift-card.selected{border-color:#ff941f;background:rgba(255,148,31,.07)}
.gift-card-media{aspect-ratio:1/1;width:100%;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:rgba(255,255,255,.035)}
.gift-card-media img{width:100%;height:100%;object-fit:contain}
.gift-card-media .gift-placeholder{font-size:28px}
.gift-card-name{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:rgba(255,255,255,.78)}
.gift-card-price{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:3px;font-size:10px;color:#ffbb51}
.gift-lucky-badge{position:absolute;top:7px;right:6px;z-index:4;padding:2px 5px;border-radius:7px;background:linear-gradient(135deg,#ff5c9b,#8f5cff);font-size:6px;font-weight:900;letter-spacing:.5px;color:#fff;pointer-events:none}
.gift-panel-loading,.gift-empty-state{grid-column:1/-1;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:rgba(255,255,255,.45)}
.gift-panel-loading strong,.gift-empty-state strong{margin-top:8px;color:rgba(255,255,255,.72);font-size:13px}
.gift-empty-state small{display:block;max-width:230px;margin-top:5px;line-height:1.4;font-size:9px;color:rgba(255,255,255,.34)}
.gift-empty-icon{font-size:34px;filter:grayscale(.2);opacity:.75}
.gift-panel-footer{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.055);background:rgba(7,6,11,.98)}
.gift-wallet-mini{min-width:0;display:flex;align-items:center;gap:8px}
.gift-wallet-mini>div{min-width:0}.gift-wallet-mini small,.gift-wallet-mini strong{display:block}.gift-wallet-mini small{font-size:7px;color:var(--text-muted)}.gift-wallet-mini strong{margin-top:2px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gift-coin{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ffd35a,#e88a16);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18);color:#fff1a5;font-size:11px}
.gift-quantity{height:38px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid rgba(255,148,31,.34);border-radius:13px;background:rgba(255,255,255,.025)}
.gift-quantity span{font-size:8px;color:var(--text-muted)}
.gift-quantity select{height:34px;min-width:43px;border:0;outline:0;background:transparent;color:#fff;font-weight:900}
.gift-quantity option{background:#17121e;color:#fff}
.gift-send-button{height:40px;min-width:84px;padding:0 17px;border-radius:14px;background:linear-gradient(135deg,#ff9e22,#ed7400);color:#fff;font-weight:900;font-size:12px}
.gift-send-button:disabled{opacity:.38;filter:saturate(.5)}
@media(max-width:380px){

    .gift-categories{gap:15px}
    .gift-panel-footer{grid-template-columns:minmax(0,1fr) auto auto}
    .gift-send-button{min-width:72px;padding:0 12px}
}


/* ===== VoiceApp V115: seletor de destinatários por cadeira ===== */
.gift-recipient-section{
    flex:0 0 auto;
    padding:2px 14px 9px;
    border-bottom:1px solid rgba(255,255,255,.045);
}
.gift-recipient-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:24px;
}
.gift-recipient-heading>span{
    color:rgba(255,255,255,.78);
    font-size:10px;
    font-weight:850;
}
.gift-recipient-heading>small{
    color:rgba(255,255,255,.34);
    font-size:8px;
}
.gift-recipient-list{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:52px;
    overflow-x:auto;
    padding:2px 1px 1px;
    scrollbar-width:none;
}
.gift-recipient-list::-webkit-scrollbar{display:none}
.gift-recipient-avatar,
.gift-recipient-all{
    position:relative;
    flex:0 0 auto;
    width:46px;
    min-width:46px;
    height:50px;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
}
.gift-recipient-photo,
.gift-recipient-all-icon{
    width:40px;
    height:40px;
    margin:0 auto;
    border-radius:50%;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:2px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.055);
    transition:.16s transform,.16s border-color,.16s box-shadow;
}
.gift-recipient-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.gift-recipient-photo b{
    font-size:13px;
    font-weight:900;
    color:rgba(255,255,255,.82);
}
.gift-recipient-all-icon{
    font-size:17px;
    background:linear-gradient(145deg,rgba(255,100,157,.20),rgba(137,91,255,.16));
}
.gift-recipient-all small{
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.48);
    font-size:7px;
    font-weight:800;
}
.gift-recipient-avatar.selected .gift-recipient-photo,
.gift-recipient-all.selected .gift-recipient-all-icon{
    border-color:#ff8d38;
    box-shadow:0 0 0 2px rgba(255,141,56,.12),0 0 14px rgba(255,119,64,.18);
}
.gift-recipient-avatar:active .gift-recipient-photo,
.gift-recipient-all:active .gift-recipient-all-icon{
    transform:scale(.94);
}
.gift-recipient-avatar>i,
.gift-recipient-all>i{
    position:absolute;
    top:-1px;
    right:1px;
    width:15px;
    height:15px;
    border-radius:50%;
    display:grid;
    place-items:center;
    border:2px solid #100d16;
    background:#ff8b35;
    color:#fff;
    font-size:8px;
    font-style:normal;
    font-weight:950;
}
.gift-recipient-empty{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    gap:8px;
    color:rgba(255,255,255,.34);
}
.gift-recipient-empty>span{font-size:19px}
.gift-recipient-empty small{font-size:9px}
.gift-recipient-loading{
    color:rgba(255,255,255,.34);
    font-size:9px;
}

/* ===== VoiceApp V117: PNGs do menu inferior ===== */
.nav-item .nav-icon{display:grid;place-items:center}
.nav-item:not(.nav-create) .nav-icon{width:27px;height:27px}
.nav-item .nav-icon img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.nav-create .nav-icon{overflow:hidden}
.nav-create .nav-icon img{width:34px;height:34px;object-fit:contain}


/* ===== Home: banner e atalhos personalizados ===== */
.home-banner{width:calc(100% - 32px);max-width:1280px;aspect-ratio:1280/460;margin:14px auto 18px;overflow:hidden;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
.home-banner img{display:block;width:100%;height:100%;object-fit:cover}
.home-shortcuts-new{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-shortcuts-new .shortcut-icon-image{display:grid;place-items:center;overflow:hidden}
.home-shortcuts-new .shortcut-icon-image img{display:block;width:100%;height:100%;object-fit:contain}


/* ===== Perfil reorganizado ===== */
.profile-page-new{background:linear-gradient(180deg,#110c19 0,#0b0812 48%,#09070e 100%)}
.profile-page-scroll{padding:0 14px 112px}
.profile-cover-card{position:relative;margin:0 -14px;padding:calc(22px + env(safe-area-inset-top,0px)) 18px 18px;background:radial-gradient(circle at 15% 0,rgba(255,92,153,.20),transparent 34%),radial-gradient(circle at 90% 10%,rgba(119,92,255,.18),transparent 32%),linear-gradient(180deg,#1a1025,#100c18);border-bottom:1px solid rgba(255,255,255,.055)}
.profile-settings-top{position:absolute;right:17px;top:calc(15px + env(safe-area-inset-top,0px));width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff}
.profile-identity{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:13px;align-items:center;padding-top:22px}
.profile-avatar-large{width:82px;height:82px;border:3px solid rgba(255,255,255,.86);box-shadow:0 7px 24px rgba(0,0,0,.25)}
.profile-identity-copy{min-width:0}.profile-identity-copy h2{margin:0;font-size:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-identity-copy p{margin:4px 0;color:rgba(255,255,255,.58);font-size:11px}.profile-public-id{display:inline-block;margin-top:3px;padding:4px 8px;border-radius:99px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.72);font-size:9px}
.profile-edit-link{align-self:center;padding:8px 10px;border-radius:99px;background:rgba(255,255,255,.07);color:#fff;font-size:9px;font-weight:800}
.profile-stats-new{margin:18px 0 0;gap:0}.profile-stats-new>*{border:0!important;border-radius:0!important;background:transparent!important;padding:7px 4px!important}.profile-stats-new>*+*{border-left:1px solid rgba(255,255,255,.08)!important}.profile-stats-new strong{font-size:19px}.profile-stats-new span{font-size:9px!important;margin-top:5px!important}
.profile-main-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:14px;padding:15px 8px 13px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:rgba(255,255,255,.035)}
.profile-main-shortcuts button{min-width:0;background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:10px}
.profile-shortcut-icon{width:52px;height:52px;display:grid;place-items:center}.profile-shortcut-icon img{width:100%;height:100%;object-fit:contain}
.profile-wallet-card,.profile-bio-card,.profile-options-card{margin-top:12px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:rgba(255,255,255,.035);overflow:hidden}
.profile-wallet-main{width:100%;min-height:82px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px;background:transparent;color:#fff;text-align:left}
.profile-wallet-copy{min-width:0}.profile-wallet-copy small,.profile-wallet-copy strong,.profile-wallet-copy>span{display:block}.profile-wallet-copy small{font-size:7px;letter-spacing:1.2px;color:#ff79aa;font-weight:900}.profile-wallet-copy strong{margin:3px 0;font-size:16px}.profile-wallet-copy>span{font-size:9px;color:var(--text-muted)}.profile-wallet-main>b,.profile-options-card b{font-size:24px;color:rgba(255,255,255,.25);font-weight:400}
.profile-level-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.profile-level-summary div{min-width:0;padding:13px 9px;border:1px solid rgba(255,255,255,.065);border-radius:17px;background:rgba(255,255,255,.027)}.profile-level-summary span,.profile-level-summary strong,.profile-level-summary small{display:block}.profile-level-summary span{font-size:8px;color:var(--text-muted)}.profile-level-summary strong{margin:5px 0 3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-level-summary small{font-size:7px;color:rgba(255,255,255,.38);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-bio-card{padding:15px}.profile-bio-card>span{font-size:11px;font-weight:900}.profile-bio-card p{margin:7px 0 0;color:var(--text-soft);font-size:10px;line-height:1.5}
.profile-options-card{padding:3px 0}.profile-options-card button{width:100%;min-height:60px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:8px 15px;border-bottom:1px solid rgba(255,255,255,.055);background:transparent;color:#fff;text-align:left;font-size:12px;font-weight:800}.profile-options-card button:last-child{border-bottom:0}
.profile-list-icon{width:38px;height:38px;display:grid;place-items:center}.profile-list-icon img{width:100%;height:100%;object-fit:contain}
@media(max-width:370px){.profile-identity{grid-template-columns:70px minmax(0,1fr) auto}.profile-avatar-large{width:70px;height:70px}.profile-main-shortcuts{padding-left:3px;padding-right:3px}.profile-shortcut-icon{width:46px;height:46px}}


/* ===== Sala reorganizada: layout limpo ===== */
.room-header-v120{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:calc(14px + env(safe-area-inset-top,0px)) 16px 12px;
    border-bottom:1px solid rgba(255,255,255,.05);
    background:rgba(10,7,15,.94);
    backdrop-filter:blur(18px);
    z-index:5;
}
.room-header-v120 .room-heading h2{
    margin:0;
    font-size:18px;
    line-height:1.15;
    text-align:left;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.room-header-v120 .room-heading-meta{
    margin-top:5px;
    display:block;
    font-size:9px;
    color:var(--text-muted);
}
.room-header-v120 .room-header-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.room-member-counter{
    min-width:42px;
    height:38px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.085);
    border-radius:19px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:13px;
    font-weight:900;
}
.room-more-button{
    width:42px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.085);
    border-radius:19px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:18px;
    font-weight:900;
    letter-spacing:1px;
}
.room-stage-v120{
    flex:0 0 auto;
    padding:18px 14px 12px;
}
.room-stage-v120 .room-stage-title{
    margin-bottom:12px;
}
.room-stage-v120 .room-stage-title strong{
    font-size:14px;
}
.room-stage-v120 .room-stage-title small{
    margin-top:3px;
    font-size:8px;
}
.room-chat-v120{
    flex:1;
    min-height:140px;
    display:flex;
    flex-direction:column;
    border-top:1px solid rgba(255,255,255,.055);
    background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,.003));
}
.room-chat-title{
    flex:0 0 38px;
    display:flex;
    align-items:center;
    padding:0 14px;
    border-bottom:1px solid rgba(255,255,255,.045);
    color:#fff;
    font-size:11px;
    font-weight:900;
}
.room-chat-v120 .room-chat-list{
    flex:1;
    min-height:0;
    height:auto;
    overflow-y:auto;
    padding:10px 14px 8px;
}
.room-chat-form-v120{
    flex:0 0 56px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    gap:8px;
    align-items:center;
    padding:7px 10px 9px;
    border-top:1px solid rgba(255,255,255,.045);
    background:rgba(9,7,14,.92);
}
.room-chat-form-v120 input{
    height:40px;
    min-width:0;
    border:0;
    outline:0;
    border-radius:15px;
    background:rgba(255,255,255,.055);
    color:#fff;
    padding:0 13px;
    font-size:10px;
}
.room-chat-form-v120 .chat-send-button{
    width:42px;
    height:42px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#ff5b94,#dc286f);
}
.room-chat-form-v120 .chat-send-button img{
    width:24px;
    height:24px;
    object-fit:contain;
}
.room-actions-v120{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:7px 10px calc(9px + env(safe-area-inset-bottom,0px));
    border-top:1px solid rgba(255,255,255,.06);
    background:rgba(9,7,14,.97);
    backdrop-filter:blur(18px);
}
.room-actions-left,
.room-actions-right{
    display:flex;
    align-items:center;
    gap:5px;
}
.room-actions-v120 button{
    width:54px;
    min-height:54px;
    padding:3px 2px;
    border-radius:14px;
    background:transparent;
    color:var(--text-muted);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
}
.room-actions-v120 button.active{
    color:#fff;
    background:rgba(255,255,255,.045);
}
.room-actions-v120 button.disabled{
    opacity:.42;
}
.room-actions-v120 button:disabled{
    pointer-events:auto;
}
.room-actions-v120 small{
    max-width:52px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:7px;
    font-weight:800;
}
.room-action-image{
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
}
.room-action-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}
@media(max-width:370px){
    .room-actions-v120{padding-left:6px;padding-right:6px}
    .room-actions-left,.room-actions-right{gap:2px}
    .room-actions-v120 button{width:48px}
    .room-action-image{width:24px;height:24px}
}


/* ===== Estados ON/OFF: Microfone e Áudio ===== */
#room-mic-button .room-action-image,
#room-audio-button .room-action-image{
    position:relative;
    border-radius:50%;
    transition:transform .18s ease, filter .18s ease, opacity .18s ease, box-shadow .18s ease;
}

/* Estado ligado: brilho/anel verde suave */
#room-mic-button.active .room-action-image,
#room-audio-button.active .room-action-image{
    opacity:1;
    filter:none;
    box-shadow:
        0 0 0 3px rgba(67,224,137,.16),
        0 0 16px rgba(67,224,137,.28);
    animation:room-control-on-pulse 1.9s ease-in-out infinite;
}

/* Pequeno indicador verde */
#room-mic-button.active .room-action-image::before,
#room-audio-button.active .room-action-image::before{
    content:"";
    position:absolute;
    right:-2px;
    bottom:-1px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#55e99b;
    border:2px solid #0b0811;
    box-shadow:0 0 8px rgba(85,233,155,.65);
    z-index:4;
}

/* Estado desligado/mudo: ícone apagado */
#room-mic-button:not(.active) .room-action-image,
#room-audio-button:not(.active) .room-action-image{
    opacity:.48;
    filter:grayscale(.28);
}

/* Risco vermelho por CSS; não exige outro PNG */
#room-mic-button:not(.active) .room-action-image::after,
#room-audio-button:not(.active) .room-action-image::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:32px;
    height:3px;
    border-radius:99px;
    background:#ff526f;
    box-shadow:0 0 7px rgba(255,82,111,.35);
    transform:translate(-50%,-50%) rotate(-45deg);
    z-index:5;
    pointer-events:none;
}

/* Quando o mic está indisponível por não estar sentado/bloqueado */
#room-mic-button.disabled .room-action-image{
    opacity:.34;
}

/* Evita que o estado ativo seja confundido com o fundo do botão */
#room-mic-button.active,
#room-audio-button.active{
    background:rgba(67,224,137,.055);
    color:#fff;
}

@keyframes room-control-on-pulse{
    0%,100%{
        box-shadow:
            0 0 0 3px rgba(67,224,137,.13),
            0 0 12px rgba(67,224,137,.20);
    }
    50%{
        box-shadow:
            0 0 0 5px rgba(67,224,137,.08),
            0 0 20px rgba(67,224,137,.32);
    }
}

@media (prefers-reduced-motion: reduce){
    #room-mic-button.active .room-action-image,
    #room-audio-button.active .room-action-image{
        animation:none;
    }
}


/* ===== Ajuste visual: Enviar + botão central Sala ===== */
.room-chat-form-v120 .chat-send-button{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0;
}

.nav-create .nav-icon{
    width:54px !important;
    height:54px !important;
    margin-top:-29px;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible;
}

.nav-create .nav-icon img{
    width:40px !important;
    height:40px !important;
    object-fit:contain;
}

/* ===== Opções da sala: painel em grade ===== */
.room-more-sheet{padding:2px 2px 8px}
.room-more-identity{margin:0 0 20px;padding:4px 4px 16px;text-align:center;border-bottom:1px solid rgba(255,255,255,.06)}
.room-more-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#fff}
.room-more-identity span{display:block;margin-top:5px;color:var(--text-muted);font-size:9px}
.room-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 8px;align-items:start}
.room-more-action{min-width:0;padding:0;border:0;background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;text-align:center}
.room-more-action-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.075);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);color:rgba(255,255,255,.88);font-size:25px;font-weight:700;transition:transform .15s ease,background .15s ease}
.room-more-action:active .room-more-action-icon{transform:scale(.94);background:rgba(243,72,137,.13)}
.room-more-action strong{display:block;max-width:90px;min-height:26px;color:rgba(255,255,255,.72);font-size:9px;line-height:1.35;font-weight:800}
.room-more-exit-wrap{margin-top:22px;padding-top:17px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:center}
.room-more-exit .room-more-action-icon{border-color:rgba(255,82,111,.18);background:rgba(255,82,111,.09);color:#ff7088}
.room-more-exit strong{color:#ff8297}
@media(max-width:370px){.room-more-grid{gap:15px 4px}.room-more-action-icon{width:54px;height:54px;font-size:23px}.room-more-action strong{font-size:8px}}


/* ===== Lucky Gift: envio rápido + voo até as cadeiras ===== */
.quick-gift-send{
    position:fixed;
    z-index:176;
    right:12px;
    top:47%;
    transform:translateY(-50%);
    width:82px;
    min-height:94px;
    padding:8px 6px 7px;
    border:1px solid rgba(255,180,76,.34);
    border-radius:22px;
    background:linear-gradient(155deg,rgba(37,22,48,.97),rgba(14,10,22,.97));
    box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 22px rgba(255,139,42,.10);
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    -webkit-tap-highlight-color:transparent;
    animation:quick-gift-in .16s ease-out both;
}
.quick-gift-send:active{transform:translateY(-50%) scale(.94)}
.quick-gift-media{
    width:48px;height:48px;border-radius:16px;
    display:grid;place-items:center;
    background:radial-gradient(circle,rgba(255,177,73,.16),rgba(255,255,255,.025) 68%);
}
.quick-gift-media img{width:44px;height:44px;object-fit:contain}
.quick-gift-media b{font-size:28px}
.quick-gift-copy{display:flex;flex-direction:column;align-items:center;line-height:1.05}
.quick-gift-copy strong{font-size:10px;color:#fff;font-weight:900}
.quick-gift-copy small{margin-top:3px;font-size:8px;color:#ffb64d;font-weight:900}

.gift-flight-effect{
    position:fixed;
    z-index:175;
    width:58px;height:58px;
    margin:-29px 0 0 -29px;
    pointer-events:none;
    display:grid;place-items:center;
    filter:drop-shadow(0 7px 14px rgba(0,0,0,.35));
    will-change:transform,opacity;
    animation:gift-flight-to-seat .48s cubic-bezier(.18,.72,.22,1) both;
}
.gift-flight-effect img{width:100%;height:100%;object-fit:contain}
.gift-flight-effect span{font-size:42px}

@keyframes quick-gift-in{
    from{opacity:0;transform:translate(18px,-50%) scale(.88)}
    to{opacity:1;transform:translate(0,-50%) scale(1)}
}
@keyframes gift-flight-to-seat{
    0%{opacity:0;transform:translate3d(0,10px,0) scale(.58) rotate(-8deg)}
    16%{opacity:1;transform:translate3d(0,0,0) scale(1.08) rotate(0)}
    78%{opacity:1}
    100%{opacity:0;transform:translate3d(var(--gift-dx),var(--gift-dy),0) scale(.28) rotate(12deg)}
}
@media(max-width:370px){
    .quick-gift-send{right:8px;width:74px;min-height:88px}
    .quick-gift-media{width:44px;height:44px}
    .quick-gift-media img{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
    .quick-gift-send{animation:none}
    .gift-flight-effect{animation-duration:.2s}
}


/* ===== Perfil Público Completo ===== */
.public-profile-page{padding-bottom:0!important;background:#0d0912}
.public-profile-scroll{min-height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto}
.public-profile-topbar{position:sticky;top:0;z-index:30;height:58px;padding:env(safe-area-inset-top,0px) 16px 0;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;background:rgba(13,9,18,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.05)}
.public-profile-topbar strong{text-align:center;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-profile-back{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.05);color:#fff;font-size:30px;line-height:1}
.public-profile-hero{position:relative;padding:0 18px 18px;text-align:center}
.public-profile-cover{height:154px;margin:0 -18px;background:radial-gradient(circle at 22% 30%,rgba(255,86,151,.30),transparent 30%),radial-gradient(circle at 80% 20%,rgba(128,91,255,.32),transparent 34%),linear-gradient(145deg,#27132d,#121226 72%,#0d0912)}
.public-profile-avatar-wrap{margin-top:-54px}
.public-profile-avatar{width:108px;height:108px;margin:auto;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#201725;border:4px solid #0d0912;box-shadow:0 0 0 2px rgba(255,255,255,.14),0 14px 35px rgba(0,0,0,.34);font-size:34px;font-weight:900}
.public-profile-avatar img{width:100%;height:100%;object-fit:cover}
.public-profile-identity h2{margin:12px 0 5px;font-size:23px}
.public-profile-meta{display:flex;justify-content:center;align-items:center;gap:7px;color:var(--text-muted);font-size:10px}
.public-profile-badge{padding:3px 8px;border-radius:99px;background:linear-gradient(135deg,rgba(173,123,255,.26),rgba(255,91,158,.22));color:#f1ddff;font-weight:800}
.public-profile-identity p{max-width:520px;margin:10px auto 0;color:rgba(255,255,255,.68);font-size:11px;line-height:1.5}
.public-profile-level-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:12px}
.public-profile-level-badges span{padding:5px 9px;border:1px solid rgba(255,255,255,.07);border-radius:99px;background:rgba(255,255,255,.04);font-size:9px;color:rgba(255,255,255,.78)}
.public-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid rgba(255,255,255,.06);border-radius:20px;background:rgba(255,255,255,.03);overflow:hidden}
.public-profile-stats button{min-height:72px;background:transparent;color:#fff;position:relative}
.public-profile-stats button+button:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:1px;background:rgba(255,255,255,.07)}
.public-profile-stats strong,.public-profile-stats span{display:block}
.public-profile-stats strong{font-size:18px}.public-profile-stats span{margin-top:5px;font-size:9px;color:var(--text-muted)}
.public-profile-primary-action{margin-top:12px}
.public-profile-follow-button,.public-profile-edit-button{width:min(100%,360px);height:42px;border-radius:14px;background:linear-gradient(135deg,#ff5b98,#d92d75);color:#fff;font-weight:900}
.public-profile-follow-button.following{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09)}
.public-profile-tabs{position:sticky;top:58px;z-index:20;display:grid;grid-template-columns:1fr 1fr;margin-top:2px;background:rgba(13,9,18,.94);border-bottom:1px solid rgba(255,255,255,.05)}
.public-profile-tabs button{height:50px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:800;position:relative}
.public-profile-tabs button.active{color:#fff}
.public-profile-tabs button.active:after{content:"";position:absolute;left:35%;right:35%;bottom:0;height:3px;border-radius:3px;background:#ff5b98}
.public-profile-tab-panel{padding:4px 18px 20px}
.public-profile-section{margin-top:20px}
.public-profile-section h3{margin:0 0 12px;padding-left:11px;position:relative;font-size:16px}
.public-profile-section h3:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:4px;background:linear-gradient(#ffb95b,#ff5b98)}
.public-profile-placeholder,.public-profile-empty{border:1px solid rgba(255,255,255,.055);border-radius:19px;background:rgba(255,255,255,.03)}
.public-profile-placeholder.relationship{min-height:116px;padding:18px;display:flex;align-items:center;gap:14px}
.relationship-avatar,.supporter-empty{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(255,91,152,.10);border:1px solid rgba(255,91,152,.18);font-size:28px;color:#ff7cab}
.public-profile-placeholder strong,.public-profile-placeholder small{display:block}.public-profile-placeholder small{margin-top:5px;color:var(--text-muted);font-size:9px}
.public-profile-placeholder.supporters{min-height:108px;padding:18px;display:flex;align-items:center;gap:14px;color:var(--text-muted);font-size:10px}
.public-profile-placeholder.supporters .supporter-empty{width:58px;height:58px;color:#f1c66e;background:rgba(241,198,110,.08);border-color:rgba(241,198,110,.16)}
.public-profile-empty{padding:28px 16px;text-align:center;color:var(--text-muted);font-size:10px}
.room-user-profile-open,.room-user-profile-name-open,.profile-name-open{background:transparent;color:inherit}
.room-user-profile-name-open h3,.profile-name-open h2{margin:0}
.profile-open-public{cursor:pointer}
.profile-name-open{text-align:left}


/* ===== Correção avatar circular do perfil ===== */
#profile-avatar.profile-avatar{
    padding:0!important;
    border-radius:50%!important;
    overflow:hidden!important;
    display:grid!important;
    place-items:center!important;
    appearance:none;
    -webkit-appearance:none;
    background-clip:padding-box;
}
#profile-avatar.profile-avatar img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:50%!important;
}


/* ===== Editar perfil: visual organizado, apenas recursos existentes ===== */
.profile-edit-page{
    padding-bottom:0!important;
    min-height:100dvh;
    background:
        radial-gradient(circle at 50% -10%,rgba(255,82,148,.13),transparent 32%),
        linear-gradient(180deg,#110c18 0%,#0b0811 100%);
}
.profile-edit-topbar{
    position:sticky;
    top:0;
    z-index:30;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 42px;
    align-items:center;
    min-height:58px;
    padding:calc(env(safe-area-inset-top,0px) + 4px) 14px 4px;
    border-bottom:1px solid rgba(255,255,255,.05);
    background:rgba(12,8,17,.88);
    backdrop-filter:blur(18px);
}
.profile-edit-topbar h2{
    margin:0;
    text-align:center;
    font-size:18px;
    font-weight:800;
}
.profile-edit-back{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.045);
    color:#fff;
    font-size:31px;
    line-height:1;
}
.profile-edit-scroll{
    padding:22px 16px calc(34px + env(safe-area-inset-bottom,0px));
}
.profile-edit-form{
    width:min(100%,620px);
    margin:0 auto;
}
.profile-edit-avatar-section{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:8px 0 28px;
}
.profile-edit-avatar-button{
    position:relative;
    display:block;
    width:112px;
    height:112px;
    cursor:pointer;
}
.profile-edit-avatar-preview{
    width:112px!important;
    height:112px!important;
    border:3px solid rgba(255,255,255,.88)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.32),0 0 0 4px rgba(255,91,152,.08);
}
.profile-edit-avatar-preview img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:50%;
}
.profile-edit-camera-badge{
    position:absolute;
    right:0;
    bottom:3px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:3px solid #0d0913;
    background:linear-gradient(145deg,#ff6ca5,#db2f76);
    color:#fff;
    font-size:15px;
    box-shadow:0 6px 18px rgba(219,47,118,.35);
}
.profile-edit-file-input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
}
.profile-edit-avatar-section>strong{
    margin-top:12px;
    font-size:14px;
}
.profile-edit-avatar-section>small{
    margin-top:4px;
    color:var(--text-muted);
    font-size:9px;
}
.profile-edit-section{
    margin-bottom:16px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:22px;
    background:rgba(255,255,255,.035);
    overflow:hidden;
}
.profile-edit-section h3{
    margin:0;
    padding:17px 16px 10px;
    font-size:14px;
}
.profile-edit-field{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    gap:12px;
    align-items:center;
    min-height:62px;
    padding:10px 16px;
    border-top:1px solid rgba(255,255,255,.055);
}
.profile-edit-field>span{
    font-size:11px;
    font-weight:750;
    color:rgba(255,255,255,.86);
}
.profile-edit-control{
    min-width:0;
}
.profile-edit-control input,
.profile-edit-control textarea{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    text-align:right;
    font:inherit;
    font-size:11px;
}
.profile-edit-control input::placeholder,
.profile-edit-control textarea::placeholder{
    color:rgba(255,255,255,.28);
}
.profile-edit-field-bio{
    align-items:start;
    padding-top:14px;
    padding-bottom:14px;
}
.profile-edit-control textarea{
    min-height:64px;
    resize:none;
    line-height:1.45;
}
.profile-edit-readonly strong{
    text-align:right;
    color:var(--text-muted);
    font-size:11px;
    font-weight:700;
}
.profile-edit-account-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
    min-height:58px;
    padding:0 16px;
    border-top:1px solid rgba(255,255,255,.055);
}
.profile-edit-account-row span{
    font-size:11px;
}
.profile-edit-account-row strong{
    font-size:10px;
    color:var(--text-muted);
}
.profile-edit-save{
    width:100%;
    min-height:50px;
    margin-top:4px;
    border-radius:16px;
    background:linear-gradient(145deg,#ff5b98,#d82d75);
    color:#fff;
    font-size:13px;
    font-weight:900;
    box-shadow:0 10px 28px rgba(216,45,117,.22);
}
@media(max-width:380px){
    .profile-edit-field{grid-template-columns:105px minmax(0,1fr)}
    .profile-edit-avatar-button,
    .profile-edit-avatar-preview{width:102px!important;height:102px!important}
}


/* ===== Espaço seguro acima do menu inferior ===== */
/* O menu inferior permanece exatamente como está. */
.public-profile-scroll{
    padding-bottom:calc(130px + env(safe-area-inset-bottom,0px))!important;
}
.profile-edit-scroll{
    padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))!important;
}
.public-profile-tab-panel{padding-bottom:24px}
.profile-edit-save{margin-bottom:8px}


/* ===== Foto da sala: padrão 1:1 compacto ===== */

/* Cabeçalho dentro da sala */
.room-heading-with-cover{
    min-width:0;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr);
    gap:9px;
    align-items:center;
}
.room-heading-copy{min-width:0}
.room-header-cover{
    width:38px;
    height:38px;
    aspect-ratio:1/1;
    border-radius:10px;
    overflow:hidden;
    display:grid;
    place-items:center;
    flex:0 0 38px;
    border:1px solid rgba(255,255,255,.09);
    background:
        radial-gradient(circle at 75% 25%,rgba(255,91,152,.28),transparent 35%),
        linear-gradient(145deg,#24122c,#101426);
    color:#fff;
    font-size:14px;
    font-weight:900;
}
.room-header-cover img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

/* Configurações da sala */
.room-cover-settings-row{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:12px;
    align-items:center;
}
.room-cover-settings-preview{
    width:72px;
    height:72px;
    aspect-ratio:1/1;
    border-radius:15px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(145deg,#26152f,#111529);
    color:#fff;
    font-size:24px;
    font-weight:900;
}
.room-cover-settings-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.room-cover-settings-row label{
    min-width:0;
}
.room-cover-settings-row label span,
.room-cover-settings-row label small{
    display:block;
}
.room-cover-settings-row label small{
    margin:5px 0 8px;
    color:var(--text-muted);
    font-size:8px;
    line-height:1.4;
}

/* Home - Destaques: miniatura quadrada, sem capa gigante */
.featured-rooms .room-card{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    align-items:center;
    min-height:112px;
}
.featured-rooms .room-cover{
    width:82px!important;
    height:82px!important;
    aspect-ratio:1/1;
    margin:10px 0 10px 10px;
    border-radius:15px;
}
.featured-rooms .room-card-body{
    min-width:0;
    padding:11px 12px;
}
.featured-rooms .room-member-count{
    top:5px;
    right:5px;
    padding:4px 6px;
    font-size:8px;
}
.featured-rooms .room-card-footer{
    margin-top:8px;
    gap:6px;
}
.featured-rooms .room-tag{
    max-width:95px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.featured-rooms .enter-room-button{
    padding:0 10px;
}

/* Home - Recomendadas */
.recommended-cover{
    width:64px!important;
    height:64px!important;
    aspect-ratio:1/1;
    border-radius:14px!important;
}
.recommended-room{
    grid-template-columns:64px minmax(0,1fr) auto!important;
    min-height:82px!important;
}

/* Explorar: lista compacta com miniatura 1:1 */
.explore-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
}
.explore-grid .room-card{
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    align-items:center;
    min-height:86px;
    padding:8px;
}
.explore-grid .room-cover{
    width:68px!important;
    height:68px!important;
    aspect-ratio:1/1;
    border-radius:14px;
}
.explore-grid .room-card-body{
    min-width:0;
    padding:4px 8px 4px 12px;
}
.explore-grid .room-card-footer{
    margin-top:7px;
}
.explore-grid .room-tag{
    max-width:150px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.room-cover-square img,
.featured-rooms .room-cover img,
.recommended-cover img,
.explore-grid .room-cover img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.room-cover-fallback{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    font-size:24px;
    font-weight:900;
    color:rgba(255,255,255,.84);
    background:
        radial-gradient(circle at 70% 25%,rgba(255,91,152,.28),transparent 35%),
        linear-gradient(145deg,#25142e,#101529);
}


/* ===== Correção robusta: foto e fundo da sala ===== */
.room-theme-settings-preview{
    width:100%;
    height:118px;
    margin-top:10px;
    border-radius:16px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 70% 20%,rgba(255,91,152,.22),transparent 34%),
        linear-gradient(145deg,#21132b,#101426);
    background-size:cover;
    background-position:center;
    color:var(--text-muted);
    font-size:10px;
}


/* ===== VoiceApp Loja V127 ===== */
.store-page{background:radial-gradient(circle at 82% 0%,rgba(255,84,153,.10),transparent 27%),var(--bg)}
.store-topbar{align-items:center}.store-balance{min-width:94px;height:42px;padding:0 11px;border:1px solid rgba(245,190,103,.18);border-radius:15px;background:linear-gradient(145deg,rgba(245,190,103,.11),rgba(255,255,255,.025));display:grid;grid-template-columns:auto auto;grid-template-rows:1fr 1fr;column-gap:6px;align-items:center;color:#fff;text-align:left}.store-balance-icon{grid-row:1/3;font-size:18px;color:var(--gold)}.store-balance strong{align-self:end;font-size:13px;line-height:1}.store-balance small{align-self:start;margin-top:2px;color:var(--text-muted);font-size:7px;line-height:1}.store-scroll{padding-top:12px}.store-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 0 13px;scrollbar-width:none}.store-tabs::-webkit-scrollbar{display:none}.store-tab{flex:0 0 auto;height:34px;padding:0 13px;border:1px solid var(--border);border-radius:99px;background:rgba(255,255,255,.025);color:var(--text-muted);font-size:10px;font-weight:800;white-space:nowrap}.store-tab.active{border-color:rgba(255,82,145,.32);background:rgba(255,82,145,.13);color:#fff}.store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.store-card{min-width:0;border:1px solid var(--border);border-radius:19px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));box-shadow:0 10px 26px rgba(0,0,0,.14)}.store-card-main{display:block;width:100%;padding:0;background:transparent;color:#fff;text-align:left}.store-preview{position:relative;height:142px;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(255,86,156,.14),transparent 34%),#120e19;display:grid;place-items:center}.store-preview img{width:100%;height:100%;object-fit:cover}.store-preview-fallback{font-size:42px;color:rgba(255,255,255,.22)}.store-vip-badge{position:absolute;top:8px;right:8px;padding:4px 7px;border-radius:99px;background:rgba(11,8,16,.78);border:1px solid rgba(245,190,103,.22);color:#f3c978;font-size:7px;font-weight:900;letter-spacing:.4px}.store-card-copy{padding:10px 10px 7px}.store-card-copy strong{display:block;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-card-copy small{display:block;margin-top:4px;color:var(--text-muted);font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-price-button{width:calc(100% - 20px);height:34px;margin:0 10px 10px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:5px;background:rgba(245,190,103,.10);border:1px solid rgba(245,190,103,.16);color:#f4cf86}.store-price-button span{font-size:13px}.store-price-button strong{font-size:10px}.store-empty{grid-column:1/-1}.store-detail{display:grid;gap:13px}.store-detail-preview{height:220px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(255,86,156,.16),transparent 36%),#100c17;display:grid;place-items:center}.store-detail-preview img{width:100%;height:100%;object-fit:contain}.store-detail-meta{display:flex;gap:6px;flex-wrap:wrap}.store-detail-meta span{padding:5px 8px;border-radius:99px;background:rgba(255,255,255,.045);border:1px solid var(--border);color:var(--text-muted);font-size:8px;font-weight:700}.store-detail p{margin:0;color:var(--text-soft);font-size:11px;line-height:1.55}.store-detail-price{display:flex;align-items:baseline;gap:6px;padding:13px 14px;border-radius:15px;background:rgba(245,190,103,.08);border:1px solid rgba(245,190,103,.14)}.store-detail-price span{color:var(--gold);font-size:18px}.store-detail-price strong{font-size:22px}.store-detail-price small{color:var(--text-muted);font-size:8px}.store-buy-button:disabled{opacity:.65}
@media(min-width:700px){.store-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.store-preview{height:170px}.store-detail-preview{height:300px}}


/* ===== VoiceApp V128: moldura equipada em avatares de perfil ===== */
.profile-avatar.has-equipped-frame,
.room-user-profile-avatar.has-equipped-frame,
.public-profile-avatar.has-equipped-frame{
    position:relative;
    overflow:visible;
    isolation:isolate;
}
.profile-avatar .avatar-photo-layer,
.room-user-profile-avatar .avatar-photo-layer,
.public-profile-avatar .avatar-photo-layer{
    position:absolute;
    inset:0;
    z-index:1;
    display:grid;
    place-items:center;
    border-radius:50%;
    overflow:hidden;
    background:inherit;
}
.profile-avatar .avatar-photo-layer>img,
.room-user-profile-avatar .avatar-photo-layer>img,
.public-profile-avatar .avatar-photo-layer>img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.profile-avatar .avatar-photo-layer>span,
.room-user-profile-avatar .avatar-photo-layer>span,
.public-profile-avatar .avatar-photo-layer>span{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
}
.equipped-avatar-frame{
    position:absolute!important;
    z-index:3!important;
    left:50%!important;
    top:50%!important;
    width:132%!important;
    height:132%!important;
    max-width:none!important;
    object-fit:contain!important;
    transform:translate(-50%,-50%)!important;
    pointer-events:none!important;
    border-radius:0!important;
    overflow:visible!important;
}
.room-user-profile-top{overflow:visible}
.public-profile-avatar-wrap{position:relative;overflow:visible}


/* ===== VoiceApp V129: proporções refinadas da moldura ===== */
/* Perfil próprio: a moldura precisa ultrapassar visualmente o círculo da foto. */
.profile-avatar.has-equipped-frame .equipped-avatar-frame{
    width:246%!important;
    height:246%!important;
}

/* Card/modal de perfil na sala: destaque maior sem encostar no conteúdo do modal. */
.room-user-profile-avatar.has-equipped-frame .equipped-avatar-frame{
    width:144%!important;
    height:144%!important;
}

/* Perfil completo já estava proporcionalmente correto. */
.public-profile-avatar.has-equipped-frame .equipped-avatar-frame{
    width:132%!important;
    height:132%!important;
}

/* Moldura nas cadeiras/microfones da sala. A foto continua com o tamanho original;
   somente a moldura ultrapassa o círculo. */
.room-seat .seat-avatar{overflow:visible}
.room-seat .seat-avatar>.seat-avatar-photo{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
    object-position:center;
}
.room-seat .seat-equipped-frame{
    position:absolute!important;
    z-index:4!important;
    left:50%!important;
    top:50%!important;
    width:148%!important;
    height:148%!important;
    max-width:none!important;
    object-fit:contain!important;
    transform:translate(-50%,-50%)!important;
    pointer-events:none!important;
    border-radius:0!important;
}
.room-seat.has-equipped-frame .seat-avatar{
    border-color:transparent;
    box-shadow:none;
}
.room-seat.has-equipped-frame strong{margin-top:10px}
.room-seat.has-equipped-frame 
.room-seat.has-equipped-frame .seat-mic-state{z-index:8;right:-8px;bottom:-4px}
.room-seat.has-equipped-frame .seat-number{z-index:8}
@media(max-height:700px){
    .room-seat .seat-equipped-frame{width:146%!important;height:146%!important}
    .room-seat.has-equipped-frame strong{margin-top:8px}
}

/* ===== VoiceApp V130: correção definitiva do avatar/moldura ===== */
/* As camadas da foto precisam ter sempre um contêiner relativo, mesmo sem moldura. */
.profile-avatar,
.room-user-profile-avatar,
.public-profile-avatar{
    position:relative!important;
    isolation:isolate;
    box-sizing:border-box;
    aspect-ratio:1 / 1;
}

/* A foto permanece perfeitamente circular e limitada ao tamanho real do avatar. */
.profile-avatar .avatar-photo-layer,
.room-user-profile-avatar .avatar-photo-layer,
.public-profile-avatar .avatar-photo-layer{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border-radius:50%;
    overflow:hidden;
}

/* Sem moldura, nunca deixar a foto escapar ou deformar o botão circular. */
#profile-avatar.profile-avatar:not(.has-equipped-frame),
.room-user-profile-avatar:not(.has-equipped-frame),
.public-profile-avatar:not(.has-equipped-frame){
    overflow:hidden!important;
}

/* Com moldura, somente a moldura pode ultrapassar o círculo da foto. */
#profile-avatar.profile-avatar.has-equipped-frame,
.room-user-profile-avatar.has-equipped-frame,
.public-profile-avatar.has-equipped-frame{
    overflow:visible!important;
}

/* No card principal do próprio perfil, fixa a geometria 1:1 para impedir ovalização. */
#profile-avatar.profile-avatar{
    min-width:82px;
    min-height:82px;
    width:82px;
    height:82px;
    flex:0 0 82px;
}

/* Mantém a proporção compacta usada pelo layout em telas estreitas. */
@media(max-width:370px){
    #profile-avatar.profile-avatar{
        min-width:70px;
        min-height:70px;
        width:70px;
        height:70px;
        flex-basis:70px;
    }
}

/* ===== VoiceApp V132: ajuste fino da moldura do card principal do Perfil ===== */
/*
   Corrige a regra antiga #profile-avatar.profile-avatar img, que por usar ID + !important
   estava forçando a imagem da moldura a 100% e border-radius:50%, anulando o tamanho V129.
   A foto continua circular; somente a moldura equipada ultrapassa o avatar.
*/
#profile-avatar.profile-avatar.has-equipped-frame > img.equipped-avatar-frame{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:132%!important;
    height:132%!important;
    max-width:none!important;
    max-height:none!important;
    transform:translate(
        calc(-50% + var(--av-frame-x, 0px)),
        calc(-50% + var(--av-frame-y, 0px))
    ) scale(var(--av-frame-scale, 1))!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:0!important;
    overflow:visible!important;
    z-index:4!important;
    pointer-events:none!important;
}


/* ===== VoiceApp Bolhas de Chat V133 ===== */
.chat-bubble-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:16px}
.chat-bubble-preview.compact{padding:10px}
.chat-bubble-demo,.chat-message-bubble{position:relative;border-radius:14px}
.chat-bubble-demo{width:min(100%,260px);padding:12px 14px;text-align:left}
.chat-bubble-preview.compact .chat-bubble-demo{padding:9px 10px;border-radius:12px}
.chat-bubble-demo-head,.chat-bubble-message-head{display:flex;align-items:center;gap:6px;min-width:0}
.chat-bubble-demo-head strong,.chat-bubble-message-head b{color:#fff!important;font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-bubble-demo-text,.chat-bubble-message-text{display:block!important;margin-top:5px;color:#fff!important;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.chat-bubble-vip-tag{flex:0 0 auto;display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:99px;background:rgba(255,155,48,.16);border:1px solid rgba(255,177,70,.55);color:#ffd28b;font-size:7px;font-weight:950;letter-spacing:.35px;box-shadow:inset 0 0 8px rgba(255,153,31,.08)}
.chat-bubble-crown{position:absolute;z-index:2;color:#ffad42;font-size:13px;line-height:1;text-shadow:0 1px 5px rgba(0,0,0,.55)}
.chat-bubble-crown-left{left:8px;top:-8px;transform:rotate(-18deg)}
.chat-bubble-crown-right{right:8px;top:-8px;transform:rotate(18deg)}
.chat-bubble-vip1{background:linear-gradient(145deg,#0d4a35 0%,#073326 55%,#06281f 100%);border:1.5px solid #e8892d;box-shadow:inset 0 0 0 1px rgba(255,190,91,.16),0 5px 14px rgba(0,0,0,.24)}
.chat-bubble-vip1:after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,187,78,.16);border-radius:10px;pointer-events:none}
.chat-message.chat-message-bubble{display:block;align-self:flex-start;width:max-content;max-width:min(82%,330px);margin:3px 0 9px;padding:8px 10px 9px;gap:0;font-size:10px}
.chat-message-bubble .chat-bubble-message-head,.chat-message-bubble .chat-bubble-message-text{position:relative;z-index:1}
.chat-message-bubble .chat-bubble-message-text{margin-top:4px}
.inventory-chat-bubble .inventory-preview{overflow:visible}
.store-preview .chat-bubble-preview,.store-detail-preview .chat-bubble-preview,.inventory-preview .chat-bubble-preview{box-sizing:border-box}
@media(max-width:380px){
    .chat-message.chat-message-bubble{max-width:86%}
    .chat-bubble-demo{padding:10px 11px}
}

/* Medalha visual do VIP no perfil público */
.public-profile-badge:has(.public-profile-vip-medal){
    padding:0;
    background:none;
    border-radius:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:0;
}

.public-profile-vip-medal{
    display:block;
    width:80px;
    height:auto;
    max-width:none;
    object-fit:contain;
}

/* Identidade visual VIP 1 */
.vip-name-vip1{
    color:#35d978 !important;
}

.vip-name-vip2{
    color:#39a9ff !important;
}

.vip-name-vip3{
    color:#a96cff !important;
}

.vip-name-vip4{
    color:#ff5fa2 !important;
}

.vip-name-vip5{
    color:#f3c75f !important;
}

.vip-name-vip6{
    color:#e53935 !important;
}

/* Ajuste da medalha VIP 1 no perfil */
.public-profile-vip-medal{
    width:62px !important;
}

/* ID + botão copiar no perfil público */
.public-profile-id-wrap{
    display:inline-flex;
    align-items:center;
    gap:4px;
}

.public-profile-copy-id{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    padding:0;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.68);
    font-size:14px;
    line-height:1;
    cursor:pointer;
}

.public-profile-copy-id:active{
    transform:scale(.88);
}

/* Medalha VIP 1 antes do nome no chat */
.chat-vip-medal{
    display:inline-block;
    width:42px;
    height:auto;
    object-fit:contain;
    vertical-align:middle;
    flex-shrink:0;
    margin-right:3px;
}

/* Espaço natural entre moldura/avatar e nome no perfil da sala */
.room-user-profile h3{
    margin-top:22px;
}


/* ===== VoiceApp V134: Progressão de Riqueza e Charme ===== */
.levels-page{--level-accent:#f4b84b;--level-accent-soft:#ffe09a;--level-glow:rgba(244,184,75,.20);background:radial-gradient(circle at 50% 5%,var(--level-glow),transparent 27%),linear-gradient(180deg,#120e17 0%,#0b0811 52%,#08060d 100%)}
.levels-page[data-level-theme="charm"]{--level-accent:#ef5ab7;--level-accent-soft:#ffb4e0;--level-glow:rgba(239,90,183,.20)}
.levels-topbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;background:rgba(10,7,14,.90)}
.levels-back,.levels-topbar-mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.08);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.045);color:#fff}.levels-back{font-size:28px;font-weight:300}.levels-topbar-mark{color:var(--level-accent);font-size:19px}.levels-topbar-copy{text-align:center}.levels-topbar-copy .page-title{font-size:20px}.levels-scroll{padding:14px 14px 118px}
.levels-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(255,255,255,.035);margin-bottom:13px}.levels-tab{height:42px;border-radius:13px;background:transparent;color:rgba(255,255,255,.48);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:7px}.levels-tab.active{color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--level-accent) 24%,#17111d),rgba(255,255,255,.055));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--level-accent) 28%,transparent)}.levels-tab-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.levels-tab.active .levels-tab-dot{background:var(--level-accent);box-shadow:0 0 12px var(--level-accent)}
.levels-hero{position:relative;overflow:hidden;padding:24px 18px 17px;border:1px solid color-mix(in srgb,var(--level-accent) 20%,rgba(255,255,255,.06));border-radius:28px;background:radial-gradient(circle at 50% 10%,var(--level-glow),transparent 34%),linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 18px 50px rgba(0,0,0,.24)}.levels-hero-orb{position:absolute;width:190px;height:190px;border-radius:50%;left:50%;top:-112px;transform:translateX(-50%);border:1px solid color-mix(in srgb,var(--level-accent) 24%,transparent);box-shadow:0 0 60px var(--level-glow)}
.levels-emblem{position:relative;width:92px;height:72px;margin:0 auto 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;clip-path:polygon(12% 15%,50% 0,88% 15%,100% 50%,86% 86%,50% 100%,14% 86%,0 50%);background:linear-gradient(145deg,color-mix(in srgb,var(--level-accent) 82%,white),color-mix(in srgb,var(--level-accent) 42%,#2b1730));color:#130d13;filter:drop-shadow(0 8px 18px var(--level-glow))}.levels-emblem:after{content:"";position:absolute;inset:4px;clip-path:inherit;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.08));opacity:.38}.levels-emblem>*{position:relative;z-index:1}.levels-emblem-label{font-size:7px;letter-spacing:1.8px;font-weight:1000;opacity:.72}.levels-emblem strong{font-size:27px;line-height:1;font-weight:1000}.levels-emblem[data-tier="starter"]{filter:saturate(.72) drop-shadow(0 8px 18px var(--level-glow))}.levels-emblem[data-tier="diamond"],.levels-emblem[data-tier="royal"],.levels-emblem[data-tier="legend"]{transform:scale(1.05)}
.levels-hero-copy{text-align:center}.levels-kind-label{font-size:8px;letter-spacing:1.8px;color:var(--level-accent);font-weight:1000}.levels-hero-copy h3{margin:5px 0 5px;font-size:20px}.levels-hero-copy p{max-width:310px;margin:0 auto;color:rgba(255,255,255,.55);font-size:10px;line-height:1.5}.levels-progress-card{margin-top:19px;padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:17px;background:rgba(5,4,8,.28)}.levels-progress-head,.levels-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.levels-progress-head{font-size:8px;color:rgba(255,255,255,.48);font-weight:800}.levels-progress-head strong{color:var(--level-accent-soft);font-size:10px}.levels-progress-track{height:8px;margin:9px 0 8px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.075)}.levels-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--level-accent),var(--level-accent-soft));box-shadow:0 0 14px var(--level-glow);transition:width .35s ease}.levels-progress-foot{font-size:8px;color:rgba(255,255,255,.42)}.levels-progress-foot b{color:#fff;font-size:10px}
.levels-info-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;margin-top:12px;padding:15px;border:1px solid rgba(255,255,255,.065);border-radius:20px;background:rgba(255,255,255,.032)}.levels-info-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--level-accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--level-accent) 22%,transparent);color:var(--level-accent);font-size:20px}.levels-info-card small{display:block;color:var(--level-accent);font-size:7px;letter-spacing:1.2px;font-weight:1000}.levels-info-card strong{display:block;margin:3px 0;font-size:12px}.levels-info-card p{margin:0;color:rgba(255,255,255,.48);font-size:9px;line-height:1.45}
.levels-roadmap{margin-top:20px}.levels-section-heading{display:flex;align-items:end;justify-content:space-between;margin:0 2px 10px}.levels-section-heading small{display:block;color:var(--level-accent);font-size:7px;letter-spacing:1.4px;font-weight:1000}.levels-section-heading h3{margin:3px 0 0;font-size:17px}.levels-section-heading>span{padding:5px 8px;border-radius:99px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.42);font-size:8px}.levels-table-head,.levels-row{display:grid;grid-template-columns:68px minmax(0,1fr) 82px;align-items:center}.levels-table-head{padding:0 10px 7px;color:rgba(255,255,255,.30);font-size:7px;text-transform:uppercase;letter-spacing:.7px}.levels-table-head span:last-child{text-align:right}.levels-requirements-list{display:grid;gap:6px}.levels-row{min-height:56px;padding:7px 10px;border:1px solid rgba(255,255,255,.055);border-radius:16px;background:rgba(255,255,255,.025)}.levels-mini-badge{width:38px;height:30px;display:grid;place-items:center;border-radius:10px 13px 10px 13px;background:linear-gradient(145deg,color-mix(in srgb,var(--level-accent) 20%,#1a1420),#100c15);border:1px solid color-mix(in srgb,var(--level-accent) 20%,transparent);color:var(--level-accent-soft);font-size:11px;font-weight:1000}.levels-row strong{font-size:11px}.levels-row strong small{font-size:7px;color:rgba(255,255,255,.35);font-weight:700}.levels-status{text-align:right;font-size:8px;color:rgba(255,255,255,.30)}.levels-row.done{border-color:color-mix(in srgb,var(--level-accent) 15%,rgba(255,255,255,.05))}.levels-row.done .levels-status{color:var(--level-accent)}.levels-row.next{background:linear-gradient(90deg,color-mix(in srgb,var(--level-accent) 10%,transparent),rgba(255,255,255,.025));border-color:color-mix(in srgb,var(--level-accent) 35%,transparent);box-shadow:0 8px 24px var(--level-glow)}.levels-row.next .levels-status{color:#fff;font-weight:900}.levels-row.locked{opacity:.66}.levels-loading,.levels-empty{padding:26px 12px;text-align:center;border:1px dashed rgba(255,255,255,.08);border-radius:16px;color:rgba(255,255,255,.42);font-size:10px}
.profile-level-summary button{min-width:0;padding:13px 9px;border:1px solid rgba(255,255,255,.065);border-radius:17px;background:rgba(255,255,255,.027);color:#fff;text-align:left}.profile-level-summary button span,.profile-level-summary button strong,.profile-level-summary button small{display:block}.profile-level-summary button span{font-size:8px;color:var(--text-muted)}.profile-level-summary button strong{margin:5px 0 3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-level-summary button small{font-size:7px;color:rgba(255,255,255,.38);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-level-summary button:active{transform:scale(.98)}
@media(max-width:370px){.levels-table-head,.levels-row{grid-template-columns:58px minmax(0,1fr) 70px}.levels-hero{padding-left:13px;padding-right:13px}}


/* ===== VoiceApp V135: Visitantes do perfil ===== */
.visitors-page{background:radial-gradient(circle at 50% 0%,rgba(238,78,151,.14),transparent 25%),linear-gradient(180deg,#100b15 0%,#09070e 58%,#07050b 100%)}
.visitors-topbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;background:rgba(10,7,14,.91)}
.visitors-back,.visitors-topbar-mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.08);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.045);color:#fff}.visitors-back{font-size:28px;font-weight:300}.visitors-topbar-mark{color:#ff76ad;font-size:14px}.visitors-topbar-copy{text-align:center}.visitors-topbar-copy .page-title{font-size:20px}.visitors-scroll{padding:14px 14px 118px}
.visitors-summary{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;padding:18px;border:1px solid rgba(255,118,173,.16);border-radius:23px;background:radial-gradient(circle at 12% 50%,rgba(255,87,153,.14),transparent 30%),rgba(255,255,255,.032);box-shadow:0 16px 42px rgba(0,0,0,.18)}.visitors-summary-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,92,158,.22),rgba(150,77,255,.11));border:1px solid rgba(255,118,173,.22);color:#ff8aba;font-size:19px}.visitors-summary small{display:block;color:#ff79ae;font-size:7px;letter-spacing:1.5px;font-weight:1000}.visitors-summary strong{display:block;margin:2px 0;font-size:25px}.visitors-summary p{margin:0;color:rgba(255,255,255,.46);font-size:9px;line-height:1.45}
.visitors-section-head{display:flex;align-items:end;justify-content:space-between;margin:20px 2px 10px}.visitors-section-head small{display:block;color:#ff75ac;font-size:7px;letter-spacing:1.4px;font-weight:1000}.visitors-section-head h3{margin:3px 0 0;font-size:17px}.visitors-section-head>span{padding:5px 8px;border-radius:99px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.38);font-size:8px}.visitors-list{display:grid;gap:7px}
.visitor-card{width:100%;min-height:76px;display:grid;grid-template-columns:52px minmax(0,1fr) 20px;gap:11px;align-items:center;padding:10px 11px;border:1px solid rgba(255,255,255,.06);border-radius:19px;background:rgba(255,255,255,.027);color:#fff;text-align:left}.visitor-card:active{transform:scale(.985);background:rgba(255,255,255,.045)}.visitor-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#302039,#17111d);border:1px solid rgba(255,255,255,.09);font-size:17px}.visitor-avatar img{width:100%;height:100%;object-fit:cover}.visitor-main{min-width:0}.visitor-name-line{display:flex;align-items:center;gap:6px;min-width:0}.visitor-name-line>strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visitor-main>small{display:block;margin-top:3px;color:rgba(255,255,255,.42);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visitor-levels{display:flex;gap:5px;margin-top:7px}.visitor-levels i,.visitor-vip-pill{font-style:normal;padding:4px 6px;border-radius:99px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.055);color:rgba(255,255,255,.55);font-size:7px;font-weight:800}.visitor-vip-pill{color:#f4c56d;border-color:rgba(244,197,109,.16);background:rgba(244,197,109,.07)}.visitor-vip-medal{display:block;width:43px;height:auto;object-fit:contain;flex-shrink:0}.visitor-arrow{color:rgba(255,255,255,.28);font-size:24px;text-align:center}.visitors-loading,.visitors-empty{padding:30px 14px;text-align:center;border:1px dashed rgba(255,255,255,.08);border-radius:19px;color:rgba(255,255,255,.43);font-size:10px}.visitors-empty span{display:block;margin-bottom:8px;color:#ff79ae;font-size:20px}.visitors-empty strong{display:block;color:#fff;font-size:12px}.visitors-empty p{margin:5px 0 0;font-size:9px;line-height:1.5}
.visitors-locked{text-align:center;padding:30px 20px;border:1px solid rgba(244,197,109,.17);border-radius:24px;background:radial-gradient(circle at 50% 0%,rgba(244,197,109,.12),transparent 34%),rgba(255,255,255,.025)}.visitors-lock-mark{width:58px;height:58px;margin:0 auto 12px;border-radius:19px;display:grid;place-items:center;background:linear-gradient(145deg,#f0c26b,#8d5b20);color:#17100a;font-size:12px;font-weight:1000;box-shadow:0 10px 28px rgba(240,194,107,.13)}.visitors-locked small{display:block;color:#eec36f;font-size:7px;letter-spacing:1.5px;font-weight:1000}.visitors-locked strong{display:block;margin:6px 0;font-size:15px}.visitors-locked p{max-width:290px;margin:0 auto;color:rgba(255,255,255,.47);font-size:9px;line-height:1.55}.visitors-locked button{height:40px;margin-top:15px;padding:0 17px;border-radius:13px;background:linear-gradient(145deg,#f1c36e,#bd7f31);color:#17100a;font-size:9px;font-weight:1000}


/* ===== VoiceApp V136: País oficial + Classificação ===== */
.profile-edit-control select{width:100%;border:0;outline:0;background:transparent;color:#fff;text-align:right;font:inherit;font-size:11px;appearance:none}.profile-edit-control select option{background:#17111f;color:#fff}
.ranking-page{background:radial-gradient(circle at 50% -8%,rgba(244,190,88,.14),transparent 25%),radial-gradient(circle at 18% 15%,rgba(255,74,146,.09),transparent 22%),linear-gradient(180deg,#100b15 0%,#09070e 55%,#07050b 100%)}
.ranking-topbar{display:grid;grid-template-columns:42px minmax(0,1fr) auto;background:rgba(10,7,14,.93)}.ranking-back{width:38px;height:38px;border:1px solid rgba(255,255,255,.08);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.045);color:#fff;font-size:28px}.ranking-topbar-copy{text-align:center}.ranking-topbar-copy .page-title{font-size:20px}.ranking-scope-button{max-width:112px;height:34px;padding:0 10px;border-radius:99px;border:1px solid rgba(244,197,109,.18);background:rgba(244,197,109,.07);color:#f1cb83;font-size:8px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-scroll{padding:12px 12px 145px}
.ranking-category-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:rgba(255,255,255,.028)}.ranking-category-tabs button{height:38px;border-radius:12px;background:transparent;color:rgba(255,255,255,.46);font-size:10px;font-weight:900}.ranking-category-tabs button.active{background:linear-gradient(145deg,rgba(244,195,102,.19),rgba(255,78,145,.12));color:#fff;box-shadow:inset 0 0 0 1px rgba(244,195,102,.14)}
.ranking-period-tabs{display:flex;gap:7px;margin:10px 0 7px;overflow-x:auto;scrollbar-width:none}.ranking-period-tabs::-webkit-scrollbar{display:none}.ranking-period-tabs button{flex:0 0 auto;height:31px;padding:0 12px;border-radius:99px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);color:rgba(255,255,255,.42);font-size:8px;font-weight:850}.ranking-period-tabs button.active{border-color:rgba(255,115,170,.23);background:rgba(255,79,147,.10);color:#ff92bc}.ranking-country-note{text-align:center;color:rgba(255,255,255,.38);font-size:8px;margin:7px 0 3px}
.ranking-podium{min-height:265px;display:grid;grid-template-columns:1fr 1.16fr 1fr;gap:5px;align-items:end;padding:12px 0 5px}.ranking-podium-card{position:relative;min-width:0;height:218px;padding:15px 5px 11px;border:1px solid rgba(255,255,255,.065);border-radius:22px 22px 17px 17px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));color:#fff;text-align:center;overflow:visible}.ranking-place-1{height:250px;padding-top:17px;border-color:rgba(245,197,105,.22);background:radial-gradient(circle at 50% 22%,rgba(245,197,105,.16),transparent 32%),linear-gradient(180deg,rgba(245,197,105,.08),rgba(255,255,255,.018));box-shadow:0 18px 42px rgba(0,0,0,.22)}.ranking-place-2{border-color:rgba(204,215,230,.14)}.ranking-place-3{border-color:rgba(203,137,88,.14)}.ranking-podium-avatar{position:relative;width:70px;height:70px;margin:4px auto 10px;border-radius:50%;display:grid;place-items:center;background:#241927;border:2px solid rgba(255,255,255,.10);font-size:20px}.ranking-place-1 .ranking-podium-avatar{width:82px;height:82px}.ranking-avatar-photo{width:100%;height:100%;border-radius:50%;object-fit:cover}.ranking-position-frame{position:absolute;z-index:3;left:50%;top:50%;width:158%;height:158%;max-width:none;transform:translate(-50%,-50%);object-fit:contain;pointer-events:none}.ranking-place-1 .ranking-position-frame{width:178%;height:178%}.ranking-podium-card>strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-place-1>strong{font-size:12px}.ranking-podium-card>small{display:block;margin-top:3px;color:rgba(255,255,255,.38);font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-podium-badges{height:28px;display:flex;align-items:center;justify-content:center;gap:3px;margin-top:5px}.ranking-podium-badges i{font-style:normal;padding:3px 4px;border-radius:99px;background:rgba(255,255,255,.045);font-size:6px;color:rgba(255,255,255,.55)}.ranking-vip-medal{width:35px;height:auto;object-fit:contain}.ranking-vip-pill{padding:3px 5px;border-radius:99px;background:rgba(244,197,109,.09);color:#f1c879;font-size:6px;font-weight:900}.ranking-podium-card>em{display:block;margin-top:2px;color:#f1ca7d;font-style:normal;font-size:9px;font-weight:1000}.ranking-podium-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.48}.ranking-podium-empty>span{font-size:28px;font-weight:1000}.ranking-podium-empty>small{font-size:8px}
.ranking-list-section{margin-top:15px}.ranking-list-head{display:flex;align-items:end;justify-content:space-between;margin:0 2px 9px}.ranking-list-head small{display:block;color:#f1c879;font-size:7px;letter-spacing:1.4px;font-weight:1000}.ranking-list-head h3{margin:3px 0 0;font-size:16px}.ranking-list-head>span{color:rgba(255,255,255,.35);font-size:8px}.ranking-list{display:grid;gap:6px}.ranking-row{width:100%;min-height:72px;display:grid;grid-template-columns:31px 47px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 10px;border:1px solid rgba(255,255,255,.055);border-radius:18px;background:rgba(255,255,255,.025);color:#fff;text-align:left}.ranking-row:active{transform:scale(.987);background:rgba(255,255,255,.04)}.ranking-row-position{font-size:13px;font-weight:1000;color:rgba(255,255,255,.50);text-align:center}.ranking-row-avatar{width:45px;height:45px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#302039,#17111d);font-size:15px}.ranking-row-avatar img{width:100%;height:100%;object-fit:cover}.ranking-row-main{min-width:0}.ranking-row-name{display:flex;align-items:center;gap:4px;min-width:0}.ranking-row-name>strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-row-name .ranking-vip-medal{width:32px}.ranking-row-main>small{display:block;margin-top:2px;color:rgba(255,255,255,.36);font-size:7px}.ranking-row-main>span:last-child{display:flex;gap:4px;margin-top:5px}.ranking-row-main i{font-style:normal;padding:3px 5px;border-radius:99px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.43);font-size:6px}.ranking-row-score{text-align:right}.ranking-row-score strong,.ranking-row-score small{display:block}.ranking-row-score strong{color:#f1ca7d;font-size:10px}.ranking-row-score small{margin-top:2px;color:rgba(255,255,255,.28);font-size:6px}.ranking-loading,.ranking-empty{grid-column:1/-1;padding:28px 14px;text-align:center;border:1px dashed rgba(255,255,255,.08);border-radius:19px;color:rgba(255,255,255,.42);font-size:9px}.ranking-country-required{grid-column:1/-1;align-self:center;padding:24px 16px;text-align:center;border:1px solid rgba(244,197,109,.16);border-radius:22px;background:rgba(244,197,109,.045)}.ranking-country-required strong{display:block;font-size:14px}.ranking-country-required p{margin:6px auto 12px;max-width:280px;color:rgba(255,255,255,.45);font-size:9px;line-height:1.5}.ranking-country-required button{height:36px;margin:3px;padding:0 12px;border-radius:11px;background:rgba(255,255,255,.06);color:#fff;font-size:8px}.ranking-country-required button:first-of-type{background:linear-gradient(145deg,#f1c36e,#bd7f31);color:#17100a;font-weight:900}
.ranking-own{position:fixed;z-index:65;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));min-height:62px;display:grid;grid-template-columns:auto auto 40px minmax(0,1fr);gap:8px;align-items:center;padding:8px 11px;border:1px solid rgba(244,197,109,.25);border-radius:19px;background:rgba(20,14,24,.96);box-shadow:0 16px 42px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.ranking-own-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:5px;letter-spacing:1px;color:#eec574;font-weight:1000}.ranking-own-position{color:#f1c879;font-size:16px}.ranking-own-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#2a1c2e;font-size:13px}.ranking-own-avatar img{width:100%;height:100%;object-fit:cover}.ranking-own-main strong,.ranking-own-main small{display:block}.ranking-own-main strong{font-size:10px}.ranking-own-main small{margin-top:2px;color:rgba(255,255,255,.42);font-size:7px}
@media(min-width:700px){.ranking-own{left:50%;right:auto;width:min(620px,calc(100% - 24px));transform:translateX(-50%)}}@media(max-width:370px){.ranking-podium{gap:3px}.ranking-podium-card{padding-left:3px;padding-right:3px}.ranking-podium-avatar{width:62px;height:62px}.ranking-place-1 .ranking-podium-avatar{width:74px;height:74px}.ranking-row{grid-template-columns:27px 42px minmax(0,1fr) auto;padding-left:7px;padding-right:7px}.ranking-row-avatar{width:40px;height:40px}}


/* ===== V136.1 - Ajuste das molduras do Top 3 ===== */

.ranking-position-frame{
    width:125% !important;
    height:125% !important;
}

.ranking-place-1 .ranking-position-frame{
    width:130% !important;
    height:130% !important;
}

/* ===== Remoção de coroas decorativas geradas pela interface =====
   Mantém intactas coroas que façam parte de arquivos PNG. */
.seat-crown,
.ranking-crown{
    display:none !important;
}


/* ===== VoiceApp Events V140 ===== */
.events-page,.event-detail-page,.event-form-page{background:radial-gradient(circle at 100% 0,rgba(243,72,137,.10),transparent 28%),var(--bg)}
.events-topbar{align-items:center}.events-create-button{min-height:38px;padding:0 14px;border-radius:14px;border:1px solid rgba(255,91,148,.22);background:rgba(255,91,148,.12);color:#ff8fba;font-size:10px;font-weight:900}.events-scroll{padding-top:12px}.events-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;margin-bottom:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}.events-tabs button{height:38px;border-radius:12px;background:transparent;color:var(--text-muted);font-size:9px;font-weight:900}.events-tabs button.active{background:rgba(243,72,137,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(243,72,137,.14)}.events-list{display:grid;gap:13px}.event-card{display:grid;grid-template-columns:108px minmax(0,1fr);min-height:152px;border:1px solid var(--border);border-radius:21px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 12px 30px rgba(0,0,0,.16);cursor:pointer}.event-card-cover{width:108px;height:100%;min-height:152px;background:linear-gradient(145deg,#31172c,#181121);display:grid;place-items:center;font-size:30px;font-weight:900;color:rgba(255,255,255,.55)}.event-card-cover img{width:100%;height:100%;object-fit:cover}.event-card-body{min-width:0;padding:12px}.event-card-topline{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--text-muted);font-size:8px;font-weight:800}.event-status{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:99px;border:1px solid rgba(255,255,255,.08);font-size:7px;letter-spacing:.5px;text-transform:uppercase;font-weight:900}.event-status-upcoming{background:rgba(137,84,255,.11);color:#c8afff}.event-status-live{background:rgba(255,65,117,.14);color:#ff87aa}.event-status-ended{background:rgba(255,255,255,.05);color:var(--text-muted)}.event-status-cancelled{background:rgba(255,90,90,.08);color:#ff9696}.event-card h3{margin:9px 0 4px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-card p{margin:0;color:var(--text-muted);font-size:9px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-card-footer{display:flex;justify-content:space-between;gap:7px;margin-top:9px;color:rgba(255,255,255,.55);font-size:8px}.event-card-footer b{color:#ff8fba}.event-card-organizer{display:flex;align-items:center;gap:5px;margin-top:8px}.event-card-organizer img,.event-card-organizer>span{width:20px;height:20px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#2b1b30;font-size:7px}.event-card-organizer small{font-size:8px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.events-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:var(--text-muted)}.events-empty>span{font-size:34px;color:rgba(255,112,167,.55)}.events-empty strong{font-size:11px;max-width:250px}.event-back-button{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.045);color:#fff;font-size:26px}.event-detail-heading{flex:1;min-width:0}.event-owner-actions{width:40px}.event-owner-actions button{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.045);color:#fff}.event-detail-card{padding-bottom:18px}.event-detail-hero{display:grid;grid-template-columns:132px minmax(0,1fr);gap:15px;align-items:center}.event-detail-cover{width:132px;aspect-ratio:1;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#32182f,#17101f);display:grid;place-items:center;font-size:42px;font-weight:900;color:rgba(255,255,255,.55);box-shadow:0 18px 40px rgba(0,0,0,.28)}.event-detail-cover img{width:100%;height:100%;object-fit:cover}.event-detail-summary{min-width:0}.event-detail-summary h1{margin:9px 0 7px;font-size:22px;line-height:1.1}.event-detail-summary p{margin:0;color:var(--text-muted);font-size:9px;line-height:1.5}.event-organizer-row{display:flex;align-items:center;gap:10px;margin-top:18px;padding:13px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025)}.event-organizer-row>img,.event-organizer-row>span{width:42px;height:42px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#2b1b30;font-weight:900}.event-organizer-row small,.event-organizer-row strong{display:block}.event-organizer-row small{color:var(--text-muted);font-size:8px;margin-bottom:3px}.event-organizer-row strong{font-size:11px}.event-info-block{margin-top:19px}.event-info-block h3,.event-participants-block h3{margin:0 0 7px;font-size:13px}.event-info-block p{margin:0;color:rgba(255,255,255,.7);font-size:10px;line-height:1.65;white-space:pre-line}.event-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.event-info-grid>div{padding:13px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}.event-info-grid small,.event-info-grid strong{display:block}.event-info-grid small{color:var(--text-muted);font-size:8px}.event-info-grid strong{margin-top:5px;font-size:10px}.event-participants-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.event-participants-block>div:first-child{display:flex;align-items:end;justify-content:space-between}.event-participants-block>div:first-child small{color:var(--text-muted);font-size:8px}.event-participants{display:flex;align-items:center;margin-top:10px;min-height:34px}.event-participant{width:34px;height:34px;margin-right:-7px;border:2px solid #0d0913;border-radius:50%;overflow:hidden;background:#2b1b30;display:grid;place-items:center}.event-participant img{width:100%;height:100%;object-fit:cover}.event-participant b{font-size:9px}.event-no-participants{color:var(--text-muted);font-size:9px}.event-main-action{width:100%;margin-top:20px}.event-secondary-action{width:100%;min-height:50px;margin-top:20px;border:1px solid var(--border-strong);border-radius:16px;background:rgba(255,255,255,.04);color:#fff;font-weight:900}.event-cancel-link{width:100%;padding:14px;margin-top:7px;background:transparent;color:#ff7c8d;font-size:9px;font-weight:800}.event-topbar-spacer{width:40px}.event-form{padding:16px}.event-cover-picker{display:block;cursor:pointer}.event-cover-preview{position:relative;width:min(100%,240px);aspect-ratio:1;margin:0 auto 4px;border:1px dashed rgba(255,255,255,.16);border-radius:25px;overflow:hidden;background:linear-gradient(145deg,rgba(243,72,137,.10),rgba(137,84,255,.07));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--text-muted)}.event-cover-preview>span:first-child{font-size:27px;color:#ff7eb0}.event-cover-preview strong{font-size:10px;color:#fff}.event-cover-preview small{font-size:8px}.event-cover-preview img{width:100%;height:100%;object-fit:cover}.event-cover-change{position:absolute!important;left:10px;right:10px;bottom:10px;min-height:30px;border-radius:11px;background:rgba(8,6,12,.75);display:grid;place-items:center;color:#fff!important;font-size:8px!important;font-weight:900;backdrop-filter:blur(8px)}.event-form-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:10px}.event-field-help{display:block;margin:6px 3px 0;color:var(--text-muted);font-size:8px;line-height:1.4}.event-form input[type="datetime-local"]{font-size:10px}.event-form select{font-size:10px}@media(max-width:390px){.event-card{grid-template-columns:96px minmax(0,1fr)}.event-card-cover{width:96px}.event-detail-hero{grid-template-columns:116px minmax(0,1fr)}.event-detail-cover{width:116px}.event-detail-summary h1{font-size:19px}.events-create-button{padding:0 10px}.event-form-grid{grid-template-columns:1fr}}


/* ===== Eventos V141 refinamentos ===== */
.event-card{grid-template-columns:108px minmax(0,1fr);min-height:108px;align-items:start}
.event-card-cover{width:108px;height:108px;min-height:108px;aspect-ratio:1/1;align-self:start}
.event-card-cover img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.event-card-body{padding:10px 12px}
.event-duration-group{min-width:0}
.event-duration-options{display:flex;gap:6px;overflow-x:auto;padding:3px 1px 5px;scrollbar-width:none}
.event-duration-options::-webkit-scrollbar{display:none}
.event-duration-options button{flex:0 0 auto;min-width:58px;height:42px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035);color:var(--text-muted);font-size:9px;font-weight:900;transition:.18s}
.event-duration-options button.active{border-color:rgba(255,91,148,.38);background:linear-gradient(145deg,rgba(255,91,148,.22),rgba(137,84,255,.12));color:#fff;box-shadow:0 7px 18px rgba(243,72,137,.12)}
.event-room-fixed-card{min-height:58px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.02))}
.event-room-fixed-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:rgba(243,72,137,.12);color:#ff8fba;font-size:18px}
.event-room-fixed-card small,.event-room-fixed-card strong{display:block}.event-room-fixed-card small{font-size:7px;color:var(--text-muted);margin-bottom:3px}.event-room-fixed-card strong{font-size:11px;color:#fff}.event-room-lock{min-height:24px;padding:0 8px;border-radius:99px;display:grid;place-items:center;background:rgba(126,226,166,.08);border:1px solid rgba(126,226,166,.15);color:#9be5b8;font-size:7px;font-weight:900}
@media(max-width:390px){.event-card{grid-template-columns:96px minmax(0,1fr);min-height:96px}.event-card-cover{width:96px;height:96px;min-height:96px}.event-duration-options button{min-width:55px;padding:0 8px}}

/* Sobre mim integrado às informações principais do perfil */
.profile-bio-inline{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.07);
}

.profile-bio-inline>span{
    display:block;
    font-size:11px;
    font-weight:900;
    color:rgba(255,255,255,.82);
}

.profile-bio-inline p{
    margin:5px 0 0;
    color:var(--text-soft);
    font-size:11px;
    line-height:1.5;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

/* =========================================================
   INVENTÁRIO PREMIUM
   ========================================================= */

.inventory-page{
    background:
        radial-gradient(circle at 90% 2%,rgba(255,76,145,.09),transparent 25%),
        radial-gradient(circle at 5% 20%,rgba(112,82,255,.08),transparent 28%),
        var(--bg);
}

.inventory-topbar{
    border-bottom:0;
}

.inventory-total{
    min-width:54px;
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:rgba(255,255,255,.045);
    text-align:center;
}

.inventory-total strong{
    display:block;
    font-size:16px;
    line-height:1;
    color:#fff;
}

.inventory-total span{
    display:block;
    margin-top:3px;
    font-size:8px;
    font-weight:800;
    letter-spacing:.7px;
    text-transform:uppercase;
    color:var(--text-muted);
}

/* Categorias */

.inventory-category-shell{
    position:sticky;
    top:70px;
    z-index:18;
    padding:5px 0 10px;
    background:linear-gradient(180deg,rgba(9,7,15,.98) 70%,rgba(9,7,15,0));
}

.inventory-categories{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:5px 16px 7px;
    scrollbar-width:none;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
}

.inventory-categories::-webkit-scrollbar{
    display:none;
}

.inventory-categories button{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:7px;
    min-height:39px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:14px;
    background:rgba(255,255,255,.035);
    color:rgba(255,255,255,.62);
    font-size:11px;
    font-weight:800;
    transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}

.inventory-categories button:active{
    transform:scale(.96);
}

.inventory-categories button small{
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:8px;
    background:rgba(255,255,255,.065);
    font-size:9px;
    color:rgba(255,255,255,.55);
}

.inventory-categories button.active{
    color:#fff;
    border-color:rgba(255,85,150,.34);
    background:linear-gradient(135deg,rgba(255,70,140,.20),rgba(127,77,255,.13));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}

.inventory-categories button.active small{
    color:#fff;
    background:rgba(255,92,153,.23);
}

/* Cabeçalho da coleção */

.inventory-scroll{
    padding-top:6px;
}

.inventory-section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    margin:2px 2px 13px;
}

.inventory-section-heading span{
    display:block;
    margin-bottom:3px;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.5px;
    color:rgba(255,255,255,.34);
}

.inventory-section-heading strong{
    display:block;
    font-size:16px;
    color:#fff;
}

/* Grade */

.inventory-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.inventory-card{
    position:relative;
    min-width:0;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:20px;
    background:
        linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
    box-shadow:0 10px 28px rgba(0,0,0,.15);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.inventory-card:active{
    transform:scale(.985);
}

.inventory-card.is-equipped{
    border-color:rgba(255,82,148,.30);
    box-shadow:
        0 12px 30px rgba(0,0,0,.18),
        inset 0 0 0 1px rgba(255,82,148,.07);
}

/* Preview */

.inventory-preview{
    position:relative;
    height:142px;
    overflow:hidden;
    border-radius:0;
    background:
        radial-gradient(circle at 50% 40%,rgba(255,255,255,.065),transparent 40%),
        #100d17;
    display:grid;
    place-items:center;
}

.inventory-preview::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:42px;
    pointer-events:none;
    background:linear-gradient(180deg,transparent,rgba(10,8,15,.65));
    z-index:1;
}

.inventory-preview>img{
    width:100%;
    height:100%;
    object-fit:contain;
    transition:transform .25s ease;
}

.inventory-type-entrance_effect .inventory-preview>img,
.inventory-type-room_theme .inventory-preview>img{
    object-fit:cover;
}

.inventory-card:active .inventory-preview>img{
    transform:scale(1.025);
}

.inventory-empty-preview{
    font-size:28px;
    color:rgba(255,255,255,.18);
}

/* Estado equipado */

.inventory-equipped-badge{
    position:absolute;
    z-index:5;
    top:9px;
    right:9px;
    display:flex;
    align-items:center;
    min-height:23px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:99px;
    background:rgba(18,12,25,.82);
    backdrop-filter:blur(12px);
    color:#fff;
    font-size:8px;
    font-weight:900;
    letter-spacing:.45px;
    text-transform:uppercase;
    box-shadow:0 5px 14px rgba(0,0,0,.22);
}

/* Conteúdo do card */

.inventory-card-body{
    position:relative;
    z-index:2;
    padding:11px;
}

.inventory-card-copy{
    min-width:0;
    margin-bottom:10px;
}

.inventory-item-type{
    display:block;
    margin-bottom:4px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:rgba(255,255,255,.40);
    font-size:8px;
    font-weight:900;
    letter-spacing:.65px;
    text-transform:uppercase;
}

.inventory-card h4{
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#fff;
    font-size:13px;
    line-height:1.25;
}

.inventory-card p{
    margin:0;
}

/* Botões */

.inventory-action{
    width:100%;
    min-height:37px;
    border:1px solid rgba(255,88,151,.20);
    border-radius:12px;
    background:linear-gradient(135deg,rgba(255,75,142,.18),rgba(143,78,255,.12));
    color:#fff;
    font-size:10px;
    font-weight:900;
    transition:transform .15s ease,filter .15s ease,opacity .15s ease;
}

.inventory-action:active{
    transform:scale(.97);
    filter:brightness(1.15);
}

.inventory-action:disabled{
    opacity:.55;
}

.inventory-action-equipped{
    border-color:rgba(255,255,255,.08);
    background:rgba(255,255,255,.045);
    color:rgba(255,255,255,.66);
}

/* Bolha de chat */

.inventory-chat-bubble .inventory-preview{
    padding:14px 8px;
    overflow:visible;
}

.inventory-chat-bubble .inventory-preview::after{
    display:none;
}

/* Categoria de molduras/medalhas: preserva transparência */

.inventory-type-frame .inventory-preview,
.inventory-type-medal .inventory-preview{
    padding:10px;
}

.inventory-type-frame .inventory-preview>img,
.inventory-type-medal .inventory-preview>img{
    width:92%;
    height:92%;
}

/* Estado vazio */

.inventory-empty-state{
    grid-column:1/-1;
    display:flex;
    min-height:260px;
    padding:30px 20px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px dashed rgba(255,255,255,.08);
    border-radius:22px;
    background:rgba(255,255,255,.018);
}

.inventory-empty-state>span{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    margin-bottom:13px;
    border-radius:18px;
    background:rgba(255,255,255,.045);
    color:rgba(255,255,255,.28);
    font-size:25px;
}

.inventory-empty-state strong{
    font-size:13px;
    color:rgba(255,255,255,.85);
}

.inventory-empty-state p{
    max-width:220px;
    margin:6px 0 0;
    color:var(--text-muted);
    font-size:10px;
    line-height:1.5;
}

@media(min-width:700px){
    .inventory-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .inventory-preview{
        height:170px;
    }
}

/* Validade dos itens do inventário */
.inventory-item-expiration{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin-top:6px;
    padding:4px 8px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:rgba(255,255,255,.68);
    font-size:10px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
}

/* ===== Medalhas equipadas no chat da sala ===== */

.chat-message-head,
.chat-bubble-message-head{
    display:flex;
    align-items:center;
    gap:5px;
    width:100%;
}

.chat-user-medals{
    display:flex;
    align-items:center;
    gap:4px;
    width:max-content;
    max-width:100%;
    margin-top:3px;
    margin-bottom:3px;
    flex-wrap:wrap;
}

.chat-user-medal{
    width:22px;
    height:22px;
    display:block;
    flex:0 0 22px;
    object-fit:contain;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.06);
    box-shadow:0 1px 4px rgba(0,0,0,.22);
}

.chat-message-text,
.chat-bubble-message-text{
    display:block;
    width:100%;
}


/* ===== Medalhas equipadas nos perfis ===== */

.profile-medals-row{
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
    width:max-content;
    max-width:100%;
    margin-top:4px;
    margin-bottom:4px;
}

.profile-medals-row[hidden]{
    display:none !important;
}

.profile-equipped-medal{
    display:block;
    width:28px;
    height:28px;
    flex:0 0 28px;
    object-fit:contain;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.055);
    box-shadow:0 2px 6px rgba(0,0,0,.20);
}

.public-profile-medals-row{
    margin-left:auto;
    margin-right:auto;
}


/* ===== Casal / CP V160 ===== */
.cp-page{min-height:100dvh;background:linear-gradient(180deg,#120b15 0%,#0b0811 100%)}
.cp-topbar{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center}.cp-back{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.045);color:#fff;font-size:30px;line-height:1}.cp-topbar-copy{min-width:0}.cp-week-pill{padding:7px 10px;border:1px solid rgba(255,111,159,.18);border-radius:99px;background:rgba(255,75,139,.09);color:#ff8bb4;font-size:9px;font-weight:900;letter-spacing:.4px}.cp-scroll{width:min(100%,720px);margin:0 auto;padding-bottom:120px}.cp-loading,.cp-ranking-empty{padding:28px 16px;text-align:center;color:var(--text-muted);font-size:11px}.cp-relationship-card{overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:26px;background:radial-gradient(circle at 50% 5%,rgba(255,76,143,.16),transparent 38%),linear-gradient(145deg,rgba(35,20,38,.96),rgba(18,13,25,.96));box-shadow:0 18px 46px rgba(0,0,0,.22)}.cp-empty-relationship{padding:32px 22px;text-align:center}.cp-heart-mark{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 12px;border:1px solid rgba(255,108,161,.2);border-radius:50%;background:rgba(255,78,143,.08);color:#ff7bab;font-size:34px}.cp-empty-relationship small,.cp-section-head small{color:#ff86b0;font-size:8px;font-weight:900;letter-spacing:1.3px}.cp-empty-relationship h3{margin:6px 0 8px;font-size:20px}.cp-empty-relationship p{max-width:440px;margin:0 auto;color:var(--text-muted);font-size:11px;line-height:1.65}.cp-couple-hero{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:center;padding:28px 18px 20px}.cp-member{min-width:0;text-align:center;cursor:pointer}.cp-member-avatar{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 10px;overflow:hidden;border:2px solid rgba(255,255,255,.82);border-radius:50%;background:#211827;box-shadow:0 0 0 5px rgba(255,81,145,.08)}.cp-member-avatar img,.cp-pair-avatar img{width:100%;height:100%;object-fit:cover}.cp-member-avatar b{font-size:26px}.cp-member strong,.cp-member small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-member strong{font-size:13px}.cp-member small{margin-top:4px;color:var(--text-muted);font-size:8px}.cp-link-heart{text-align:center;color:#ff75a8}.cp-link-heart span{display:block;font-size:38px;line-height:1}.cp-link-heart small{display:block;margin-top:5px;color:#e8b7c9;font-size:8px}.cp-weekly-summary{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;margin:0 14px 14px;padding:14px;border:1px solid rgba(255,255,255,.06);border-radius:18px;background:rgba(255,255,255,.035);text-align:center}.cp-weekly-summary i{width:1px;height:34px;background:rgba(255,255,255,.08)}.cp-weekly-summary small,.cp-weekly-summary strong{display:block}.cp-weekly-summary small{font-size:7px;color:var(--text-muted);letter-spacing:.8px}.cp-weekly-summary strong{margin-top:5px;font-size:18px}.cp-ranking-section,.cp-rewards-section,.cp-how-section{margin-top:22px}.cp-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:7px}.cp-section-head h3{margin:3px 0 0;font-size:18px}.cp-section-head>span{padding:5px 8px;border-radius:99px;background:rgba(255,255,255,.045);color:var(--text-muted);font-size:8px;font-weight:800}.cp-section-note{margin:0 0 13px;color:var(--text-muted);font-size:9px;line-height:1.55}.cp-ranking-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}.cp-podium-card{position:relative;min-width:0;padding:16px 6px 13px;border:1px solid rgba(255,255,255,.07);border-radius:20px;background:rgba(255,255,255,.025);text-align:center}.cp-podium-1{padding-top:21px;background:linear-gradient(180deg,rgba(255,195,79,.09),rgba(255,255,255,.025));border-color:rgba(255,195,79,.18)}.cp-place-badge{position:absolute;top:7px;left:9px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.08);font-size:9px}.cp-pair-avatars{display:flex;justify-content:center;align-items:center;min-width:64px}.cp-pair-avatar{display:grid;place-items:center;width:36px;height:36px;overflow:hidden;border:2px solid #17101d;border-radius:50%;background:#241927}.cp-pair-avatar+ .cp-pair-avatar{margin-left:-10px}.cp-pair-avatar b{font-size:11px}.cp-podium-card>strong,.cp-podium-card>span:last-child{display:block}.cp-podium-card>strong{margin-top:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.cp-podium-card>span:last-child{margin-top:4px;color:#ff8db5;font-size:9px;font-weight:900}.cp-ranking-list{display:grid;gap:7px;margin-top:10px}.cp-ranking-row{display:grid;grid-template-columns:26px 64px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.055);border-radius:16px;background:rgba(255,255,255,.022)}.cp-ranking-row>b{color:var(--text-muted);font-size:10px;text-align:center}.cp-ranking-row .cp-pair-avatars{justify-content:flex-start}.cp-ranking-row>div{min-width:0}.cp-ranking-row>div strong,.cp-ranking-row>div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-ranking-row>div strong{font-size:10px}.cp-ranking-row>div small{margin-top:3px;color:var(--text-muted);font-size:7px}.cp-ranking-row>span{color:#ff8db5;font-size:9px;font-weight:900}.cp-ranking-empty{grid-column:1/-1;border:1px dashed rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.018)}.cp-ranking-empty-list{margin-top:8px}.cp-reward-grid{display:grid;gap:8px}.cp-reward-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.06);border-radius:18px;background:rgba(255,255,255,.025)}.cp-reward-card>b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.06);font-size:14px}.cp-reward-first{border-color:rgba(255,194,82,.18);background:linear-gradient(90deg,rgba(255,194,82,.08),rgba(255,255,255,.02))}.cp-reward-card div strong,.cp-reward-card div span,.cp-reward-card div small{display:block}.cp-reward-card div strong{font-size:9px;color:#ff92b8}.cp-reward-card div span{margin-top:3px;font-size:11px;font-weight:800}.cp-reward-card div small{margin-top:4px;color:var(--text-muted);font-size:8px}.cp-how-section{padding:17px;border:1px solid rgba(255,255,255,.06);border-radius:22px;background:rgba(255,255,255,.02)}.cp-how-list{display:grid;gap:3px;margin-top:12px}.cp-how-list article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:11px 0;border-top:1px solid rgba(255,255,255,.045)}.cp-how-list article:first-child{border-top:0}.cp-how-list article>b{color:#ff76a9;font-size:9px}.cp-how-list strong{font-size:10px}.cp-how-list p{margin:4px 0 0;color:var(--text-muted);font-size:9px;line-height:1.55}
@media(max-width:380px){.cp-couple-hero{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);padding-left:10px;padding-right:10px}.cp-member-avatar{width:70px;height:70px}.cp-ranking-podium{gap:5px}.cp-podium-card{padding-left:4px;padding-right:4px}}

/* ===== CP TOP 1: apresentação especial no perfil próprio ===== */

/*
 * Somente perfis com moldura animada.
 * Não altera avatar normal nem molduras estáticas.
 */
.profile-identity:has(#profile-avatar.has-animated-frame){
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
    gap:8px!important;
    padding-top:28px!important;
}

/* Avatar centralizado mantendo o tamanho usado pelo perfil */
.profile-identity:has(#profile-avatar.has-animated-frame)
#profile-avatar{
    grid-column:1!important;
    justify-self:center!important;
    margin:12px auto 18px!important;
}

/* Nome, ID e demais informações ficam abaixo da moldura */
.profile-identity:has(#profile-avatar.has-animated-frame)
.profile-identity-copy{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
}

.profile-identity:has(#profile-avatar.has-animated-frame)
.profile-identity-copy h2{
    text-align:center!important;
}

/* Botão/ação do perfil permanece centralizado abaixo */
.profile-identity:has(#profile-avatar.has-animated-frame)
.profile-edit-link{
    grid-column:1!important;
    justify-self:center!important;
}

/*
 * A moldura animada pode ultrapassar o círculo.
 * Não interfere na foto.
 */
#profile-avatar.has-animated-frame{
    overflow:visible!important;
    isolation:isolate!important;
}


/* =========================================================
   VoiceApp CP PROFILE FINAL
   Perfil próprio acompanha a geometria do perfil público
   ========================================================= */

.profile-identity:has(#profile-avatar.has-animated-frame){
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;

    gap:0!important;
    padding-top:22px!important;
}

/* Avatar passa de 82px para a mesma base de 108px do perfil público */
#profile-avatar.profile-avatar.has-animated-frame{
    position:relative!important;

    width:108px!important;
    height:108px!important;
    min-width:108px!important;
    min-height:108px!important;
    flex:0 0 108px!important;

    margin:20px auto 30px!important;

    border-radius:50%!important;
    overflow:visible!important;
    isolation:isolate!important;
}

/* Foto permanece rigorosamente circular */
#profile-avatar.has-animated-frame > .avatar-photo-layer{
    position:absolute!important;
    inset:0!important;

    width:108px!important;
    height:108px!important;

    border-radius:50%!important;
    overflow:hidden!important;
    z-index:1!important;
}

#profile-avatar.has-animated-frame > .avatar-photo-layer > img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:50%!important;
}

/* Moldura animada: mesma escala aprovada no perfil público */
#profile-avatar.has-animated-frame > .animated-frame{
    position:absolute!important;

    width:140%!important;
    height:140%!important;

    left:-20%!important;
    top:-20%!important;
    inset:auto!important;

    z-index:8!important;
    pointer-events:none!important;
    overflow:visible!important;
}

/* Identidade imediatamente abaixo da moldura */
.profile-identity:has(#profile-avatar.has-animated-frame)
.profile-identity-copy{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;

    margin:0!important;
    text-align:center!important;
}

.profile-identity:has(#profile-avatar.has-animated-frame)
.profile-identity-copy h2{
    margin:0!important;
    text-align:center!important;
    font-size:23px!important;
    line-height:1.15!important;
}

.profile-identity:has(#profile-avatar.has-animated-frame)
.profile-identity-copy p{
    margin:6px 0 0!important;
    text-align:center!important;
}

/* ID */
.profile-identity:has(#profile-avatar.has-animated-frame)
.profile-public-id{
    margin-top:7px!important;
}

/* Editar */
.profile-identity:has(#profile-avatar.has-animated-frame)
.profile-edit-link{
    align-self:center!important;
    margin-top:12px!important;
}

/* Evita que a regra de 70px para celulares estreitos reduza a CP */
@media(max-width:370px){
    #profile-avatar.profile-avatar.has-animated-frame{
        width:108px!important;
        height:108px!important;
        min-width:108px!important;
        min-height:108px!important;
        flex-basis:108px!important;
    }
}


/* Medalha VIP exclusiva ao lado do nome no próprio perfil */
.profile-name-open{
    display:flex;
    align-items:center;
    gap:5px;
}

.profile-vip-medal{
    flex:0 0 auto;
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.profile-vip-medal[hidden]{
    display:none !important;
}

.profile-vip-medal img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

/* VIP 5 — dourado cintilante */
.vip-name-vip5{
    color:#f3c75f !important;
    background:linear-gradient(
        90deg,
        #b8862b 0%,
        #f3c75f 20%,
        #fff1ad 38%,
        #d99b32 55%,
        #fff4bd 72%,
        #f3c75f 88%,
        #b8862b 100%
    );
    background-size:240% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:vip5Shimmer 3.2s linear infinite;
}

/* VIP 6 — vermelho-dragão cintilante */
.vip-name-vip6{
    color:#e53935 !important;
    background:linear-gradient(
        90deg,
        #8f1010 0%,
        #e53935 18%,
        #ff8a65 34%,
        #ffd36a 46%,
        #ff5252 58%,
        #b51217 76%,
        #ff7043 90%,
        #8f1010 100%
    );
    background-size:260% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:vip6DragonShimmer 2.7s linear infinite;
}

@keyframes vip5Shimmer{
    0%{background-position:200% center;}
    100%{background-position:-40% center;}
}

@keyframes vip6DragonShimmer{
    0%{background-position:220% center;}
    100%{background-position:-40% center;}
}


/* ===== Perfil: cabeçalho limpo ===== */
.profile-identity-copy{
    padding-left:3px;
}

/* ===== Perfil: alinhamento final da identidade ===== */
.profile-identity:not(:has(#profile-avatar.has-animated-frame)){
    grid-template-columns:98px minmax(0,1fr) auto;
    column-gap:15px;
    align-items:center;
}

.profile-identity:not(:has(#profile-avatar.has-animated-frame)) .profile-identity-copy{
    padding-left:0;
    align-self:center;
    text-align:left;
}

.profile-identity:not(:has(#profile-avatar.has-animated-frame)) .profile-name-open{
    display:block;
    width:100%;
    text-align:left;
}

.profile-identity:not(:has(#profile-avatar.has-animated-frame)) .profile-identity-copy h2,
.profile-identity:not(:has(#profile-avatar.has-animated-frame)) .profile-identity-copy p{
    text-align:left;
}

@media(max-width:370px){
    .profile-identity:not(:has(#profile-avatar.has-animated-frame)){
        grid-template-columns:84px minmax(0,1fr) auto;
        column-gap:12px;
    }
}

/* ===== Perfil: ajuste fino identidade ===== */
.profile-identity:not(:has(#profile-avatar.has-animated-frame)){
    grid-template-columns:94px minmax(0,1fr) auto;
    column-gap:14px;
}

.profile-identity:not(:has(#profile-avatar.has-animated-frame)) .profile-identity-copy{
    transform:translateY(9px);
}

@media(max-width:370px){
    .profile-identity:not(:has(#profile-avatar.has-animated-frame)){
        grid-template-columns:82px minmax(0,1fr) auto;
        column-gap:12px;
    }

    .profile-identity:not(:has(#profile-avatar.has-animated-frame)) .profile-identity-copy{
        transform:translateY(7px);
    }
}

/* =========================================================
   VIP EXPERIENCE — VIP 1 a VIP 6
   ========================================================= */

.vip-page{
    --vip-main:#35d978;
    --vip-soft:#9af1bd;
    --vip-deep:#0d6b39;
    --vip-rgb:53,217,120;
    background:
        radial-gradient(circle at 50% 13%,rgba(var(--vip-rgb),.17),transparent 31%),
        linear-gradient(180deg,#101417 0%,#0c1012 48%,#090c0e 100%);
    color:#fff;
    overflow:hidden;
}

.vip-page.vip-theme-1{
    --vip-main:#35d978;
    --vip-soft:#a4f4c2;
    --vip-deep:#0c7540;
    --vip-rgb:53,217,120;
}

.vip-page.vip-theme-2{
    --vip-main:#39a9ff;
    --vip-soft:#a9ddff;
    --vip-deep:#155f9b;
    --vip-rgb:57,169,255;
}

.vip-page.vip-theme-3{
    --vip-main:#a96cff;
    --vip-soft:#d7b8ff;
    --vip-deep:#6232a3;
    --vip-rgb:169,108,255;
}

.vip-page.vip-theme-4{
    --vip-main:#ff5fa2;
    --vip-soft:#ffc0da;
    --vip-deep:#a52b60;
    --vip-rgb:255,95,162;
}

.vip-page.vip-theme-5{
    --vip-main:#f3c75f;
    --vip-soft:#fff0ae;
    --vip-deep:#8d6219;
    --vip-rgb:243,199,95;
}

.vip-page.vip-theme-6{
    --vip-main:#ef4545;
    --vip-soft:#ffb16f;
    --vip-deep:#8e1519;
    --vip-rgb:239,69,69;
}

.vip-topbar{
    position:relative;
    z-index:10;
    min-height:58px;
    display:grid;
    grid-template-columns:46px 1fr 46px;
    align-items:center;
    padding:6px 14px 0;
}

.vip-topbar h2{
    margin:0;
    text-align:center;
    font-size:19px;
    font-weight:800;
    letter-spacing:.4px;
}

.vip-nav-button{
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:29px;
    line-height:1;
    display:grid;
    place-items:center;
    cursor:pointer;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.vip-help-button{
    font-size:17px;
    font-weight:800;
    justify-self:end;
    border:1px solid rgba(255,255,255,.12);
}

.vip-scroll{
    padding:0 0 104px !important;
}

.vip-current-status{
    margin:3px 18px 0;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-size:11px;
    color:rgba(255,255,255,.64);
}

.vip-current-status > span{
    display:none;
}

.vip-current-status strong{
    color:var(--vip-soft);
    padding:5px 10px;
    border:1px solid rgba(var(--vip-rgb),.3);
    border-radius:999px;
    background:rgba(var(--vip-rgb),.09);
    font-size:11px;
}

.vip-current-status small{
    font-size:10px;
    color:rgba(255,255,255,.56);
}

.vip-hero{
    position:relative;
    min-height:252px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    padding:7px 20px 17px;
    isolation:isolate;
}

.vip-hero::before{
    content:"";
    position:absolute;
    z-index:-2;
    width:270px;
    height:180px;
    top:20px;
    border-radius:50%;
    background:radial-gradient(
        ellipse,
        rgba(var(--vip-rgb),.24) 0%,
        rgba(var(--vip-rgb),.09) 38%,
        transparent 72%
    );
    filter:blur(5px);
}

.vip-hero::after{
    content:"";
    position:absolute;
    z-index:-1;
    top:132px;
    width:190px;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(var(--vip-rgb),.55),
        transparent
    );
    box-shadow:0 0 18px rgba(var(--vip-rgb),.42);
}

.vip-hero-glow{
    position:absolute;
    width:128px;
    height:128px;
    top:21px;
    border-radius:50%;
    background:rgba(var(--vip-rgb),.14);
    filter:blur(25px);
    z-index:-1;
}

.vip-medal-stage{
    width:148px;
    height:142px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}

.vip-medal-stage::before{
    content:"";
    position:absolute;
    width:112px;
    height:112px;
    border-radius:50%;
    border:1px solid rgba(var(--vip-rgb),.18);
    box-shadow:
        0 0 0 9px rgba(var(--vip-rgb),.025),
        0 0 34px rgba(var(--vip-rgb),.16);
}

.vip-medal-stage img{
    position:relative;
    z-index:2;
    width:138px;
    height:138px;
    object-fit:contain;
    filter:drop-shadow(0 9px 15px rgba(0,0,0,.35));
    transition:transform .28s ease,filter .28s ease;
}

.vip-medal-stage img:active{
    transform:scale(.96);
}

.vip-selected-kicker,
#vip-selected-kicker{
    margin-top:-3px;
    color:var(--vip-main);
    font-size:9px;
    font-weight:900;
    letter-spacing:2.4px;
}

.vip-hero h1{
    margin:4px 0 2px;
    font-size:27px;
    line-height:1;
    letter-spacing:.2px;
    color:#fff;
}

.vip-hero p{
    max-width:290px;
    margin:6px 0 0;
    color:rgba(255,255,255,.61);
    font-size:11px;
    line-height:1.45;
}

.vip-level-tabs{
    position:relative;
    margin:0 14px 17px;
    padding:5px;
    display:grid;
    grid-template-columns:repeat(6,minmax(48px,1fr));
    gap:3px;
    overflow-x:auto;
    scrollbar-width:none;
    border:1px solid rgba(255,255,255,.07);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}

.vip-level-tabs::-webkit-scrollbar{
    display:none;
}

.vip-level-tabs button{
    min-width:48px;
    height:37px;
    padding:0 5px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:rgba(255,255,255,.48);
    font-size:10px;
    font-weight:800;
    white-space:nowrap;
    transition:.22s ease;
}

.vip-level-tabs button.active{
    color:#fff;
    background:
        linear-gradient(
            135deg,
            rgba(var(--vip-rgb),.38),
            rgba(var(--vip-rgb),.14)
        );
    box-shadow:
        inset 0 0 0 1px rgba(var(--vip-rgb),.46),
        0 4px 16px rgba(var(--vip-rgb),.14);
}

.vip-benefits-section{
    padding:0 14px;
}

.vip-section-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin:0 2px 12px;
}

.vip-section-heading span{
    display:block;
    color:var(--vip-main);
    font-size:8px;
    font-weight:900;
    letter-spacing:1.8px;
    margin-bottom:3px;
}

.vip-section-heading h3{
    margin:0;
    font-size:18px;
    font-weight:800;
}

.vip-section-heading > small{
    padding-bottom:2px;
    color:rgba(255,255,255,.42);
    font-size:10px;
}

.vip-benefits-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}

.vip-benefit-card{
    position:relative;
    min-height:96px;
    padding:13px 11px;
    overflow:hidden;
    border-radius:17px;
    border:1px solid rgba(255,255,255,.075);
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.07),
            rgba(255,255,255,.025)
        );
}

.vip-benefit-card::after{
    content:"";
    position:absolute;
    width:60px;
    height:60px;
    right:-28px;
    bottom:-30px;
    border-radius:50%;
    background:rgba(var(--vip-rgb),.12);
    filter:blur(5px);
}

.vip-benefit-icon{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    margin-bottom:9px;
    border-radius:11px;
    background:rgba(var(--vip-rgb),.13);
    border:1px solid rgba(var(--vip-rgb),.22);
    color:var(--vip-soft);
    font-size:13px;
    font-weight:900;
    box-shadow:0 5px 15px rgba(0,0,0,.15);
}

.vip-benefit-copy{
    position:relative;
    z-index:1;
}

.vip-benefit-copy strong{
    display:block;
    color:#fff;
    font-size:11px;
    font-weight:800;
    line-height:1.2;
    margin-bottom:4px;
}

.vip-benefit-copy small{
    display:block;
    color:rgba(255,255,255,.49);
    font-size:9px;
    line-height:1.35;
}

.vip-plans-data{
    display:none !important;
}

.vip-bottom-space{
    height:15px;
}

.vip-purchase-bar{
    position:absolute;
    z-index:20;
    left:0;
    right:0;
    bottom:0;
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 14px max(11px,env(safe-area-inset-bottom));
    border-top:1px solid rgba(255,255,255,.08);
    background:rgba(10,13,15,.91);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.vip-purchase-price{
    min-width:0;
    flex:1;
}

.vip-purchase-price small{
    display:block;
    color:rgba(255,255,255,.45);
    font-size:9px;
    margin-bottom:3px;
}

.vip-purchase-price strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#fff;
    font-size:14px;
}

.vip-purchase-button{
    min-width:138px;
    height:46px;
    padding:0 17px;
    border:0;
    border-radius:15px;
    color:#101214;
    background:
        linear-gradient(
            135deg,
            var(--vip-soft),
            var(--vip-main)
        );
    font-size:12px;
    font-weight:900;
    box-shadow:0 8px 24px rgba(var(--vip-rgb),.24);
    transition:transform .18s ease,filter .18s ease;
}

.vip-purchase-button:active{
    transform:scale(.97);
}

.vip-purchase-button:disabled{
    opacity:.45;
    box-shadow:none;
}

.vip-help-content{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding-top:2px;
}

.vip-help-intro{
    padding:14px;
    border-radius:16px;
    background:rgba(255,255,255,.055);
}

.vip-help-intro strong{
    display:block;
    margin-bottom:5px;
    font-size:15px;
}

.vip-help-intro p,
.vip-help-rule p{
    margin:0;
    color:rgba(255,255,255,.58);
    font-size:11px;
    line-height:1.45;
}

.vip-help-rule{
    display:grid;
    grid-template-columns:35px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:10px 4px;
}

.vip-help-rule > span{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(255,255,255,.07);
    color:rgba(255,255,255,.68);
    font-size:9px;
    font-weight:900;
}

.vip-help-rule strong{
    display:block;
    margin:1px 0 3px;
    font-size:12px;
}

/* VIP 5: brilho dourado sutil */
.vip-theme-5 .vip-medal-stage img{
    animation:vipMedalGoldFloat 3.4s ease-in-out infinite;
}

@keyframes vipMedalGoldFloat{
    0%,100%{
        transform:translateY(0);
        filter:drop-shadow(0 9px 15px rgba(0,0,0,.35));
    }
    50%{
        transform:translateY(-4px);
        filter:
            drop-shadow(0 9px 15px rgba(0,0,0,.35))
            drop-shadow(0 0 9px rgba(243,199,95,.24));
    }
}

/* VIP 6: presença rubi/dourada */
.vip-theme-6 .vip-medal-stage img{
    animation:vipMedalRubyFloat 3s ease-in-out infinite;
}

@keyframes vipMedalRubyFloat{
    0%,100%{
        transform:translateY(0) scale(1);
        filter:drop-shadow(0 9px 15px rgba(0,0,0,.38));
    }
    50%{
        transform:translateY(-4px) scale(1.015);
        filter:
            drop-shadow(0 9px 15px rgba(0,0,0,.38))
            drop-shadow(0 0 10px rgba(239,69,69,.27));
    }
}

@media(max-width:370px){
    .vip-level-tabs{
        grid-template-columns:repeat(6,52px);
    }

    .vip-benefits-grid{
        gap:7px;
    }

    .vip-benefit-card{
        padding:11px 9px;
    }

    .vip-purchase-button{
        min-width:126px;
        padding:0 12px;
    }
}

/* VIP — impede a barra de compra de cobrir os últimos benefícios */
.vip-scroll{
    padding-bottom:150px !important;
}

.vip-bottom-space{
    height:45px;
    flex-shrink:0;
}

/* ===== VIP: barra de compra acima da navegação principal ===== */
.vip-purchase-bar{
    bottom:96px !important;
    left:12px !important;
    right:12px !important;
    min-height:72px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:20px;
    padding:10px 12px !important;
    background:rgba(10,13,15,.96);
    box-shadow:0 12px 32px rgba(0,0,0,.38);
}

.vip-scroll{
    padding-bottom:210px !important;
}

.vip-bottom-space{
    height:70px !important;
}

@media(min-width:700px){
    .vip-purchase-bar{
        left:50% !important;
        right:auto !important;
        width:min(596px,calc(100% - 48px));
        transform:translateX(-50%);
    }
}

/* ===== VIP: rodapé exclusivo de compra ===== */
.vip-purchase-bar{
    bottom:calc(10px + env(safe-area-inset-bottom,0px)) !important;
    left:12px !important;
    right:12px !important;
    min-height:72px;
    border-radius:22px;
}

.vip-scroll{
    padding-bottom:125px !important;
}

.vip-bottom-space{
    height:35px !important;
}

@media(min-width:700px){
    .vip-purchase-bar{
        left:50% !important;
        right:auto !important;
        width:min(596px,calc(100% - 48px));
        transform:translateX(-50%);
    }
}

/* ===== VIP: compra integrada ao fluxo, sem sobreposição ===== */
#screen-vip.vip-page{
    overflow-y:auto !important;
    min-height:100dvh;
    padding-bottom:18px !important;
}

#screen-vip .vip-scroll{
    padding-bottom:10px !important;
}

#screen-vip .vip-bottom-space{
    height:8px !important;
}

#screen-vip .vip-purchase-bar{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:auto !important;
    transform:none !important;

    margin:10px 12px 18px !important;
    min-height:72px;

    flex-shrink:0;
    border-radius:22px;
}

@media(min-width:700px){
    #screen-vip .vip-purchase-bar{
        width:min(596px,calc(100% - 48px)) !important;
        margin:10px auto 18px !important;
        transform:none !important;
    }
}

/* =========================================================
   VIP — HERO FINAL LIMPO
   Medalha + iluminação + feixes móveis
   ========================================================= */

#screen-vip .vip-hero{
    position:relative;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden;
    padding-bottom:18px !important;
}

/* área real da medalha — sem espaço do antigo palco */
#screen-vip .vip-medal-stage{
    position:relative !important;
    z-index:3;
    width:280px !important;
    height:155px !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 !important;

    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;

    overflow:visible !important;
}

/* aura colorida atrás da medalha */
#screen-vip .vip-medal-stage::before{
    content:"" !important;
    position:absolute !important;
    z-index:0;

    left:50% !important;
    top:13px !important;

    width:190px !important;
    height:135px !important;

    transform:translateX(-50%) !important;
    border-radius:50% !important;

    background:
        radial-gradient(
            ellipse,
            rgba(var(--vip-rgb),.26) 0%,
            rgba(var(--vip-rgb),.12) 39%,
            rgba(var(--vip-rgb),.035) 62%,
            transparent 78%
        ) !important;

    filter:blur(12px);
    pointer-events:none;
}

/* dois feixes brancos laterais dentro do stage */
#screen-vip .vip-medal-stage::after{
    content:"" !important;
    position:absolute !important;
    z-index:1;

    left:50% !important;
    bottom:0 !important;

    width:150px !important;
    height:125px !important;

    transform:translateX(-50%);

    background:
        linear-gradient(
            78deg,
            transparent 0%,
            transparent 19%,
            rgba(255,255,255,.05) 25%,
            rgba(255,255,255,.46) 30%,
            rgba(255,255,255,.10) 35%,
            transparent 42%,
            transparent 58%,
            rgba(255,255,255,.10) 65%,
            rgba(255,255,255,.46) 70%,
            rgba(255,255,255,.05) 75%,
            transparent 81%,
            transparent 100%
        );

    clip-path:polygon(
        28% 100%,
        42% 0%,
        48% 0%,
        43% 100%,
        57% 100%,
        52% 0%,
        58% 0%,
        72% 100%
    );

    filter:
        blur(4px)
        drop-shadow(0 0 5px rgba(255,255,255,.25));

    opacity:.78;

    animation:vipFinalBeams 3.4s ease-in-out infinite alternate;
    transform-origin:50% 100%;

    pointer-events:none;
}

/* medalha */
#screen-vip .vip-medal-stage > img{
    position:relative !important;
    z-index:4 !important;

    width:145px !important;
    height:145px !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:contain !important;
    transform:none !important;

    filter:
        drop-shadow(0 9px 10px rgba(0,0,0,.50))
        drop-shadow(0 0 8px rgba(var(--vip-rgb),.22));
}

/*
   Terceiro facho central.
   Usa o hero sem criar círculos ou plataforma.
*/
#screen-vip .vip-hero::before{
    content:"" !important;
    position:absolute !important;
    z-index:2;

    left:50% !important;
    top:48px !important;

    width:46px !important;
    height:112px !important;

    transform:translateX(-50%);

    background:
        linear-gradient(
            to top,
            rgba(255,255,255,.38) 0%,
            rgba(255,255,255,.18) 35%,
            rgba(255,255,255,.055) 67%,
            transparent 100%
        );

    border-radius:50%;
    filter:blur(8px);

    opacity:.62;
    animation:vipFinalCenterBeam 2.7s ease-in-out infinite alternate;

    pointer-events:none;
}

/* EXCLUSIVO imediatamente após a área visual */
#screen-vip #vip-selected-kicker{
    position:relative !important;
    z-index:5;

    display:block !important;

    margin-top:0 !important;
    padding-top:0 !important;
}

/* não existe mais palco */
#screen-vip .vip-hero-glow{
    display:none !important;
}

/* movimentos independentes e suaves */
@keyframes vipFinalBeams{
    0%{
        transform:translateX(-50%) skewX(-5deg);
        opacity:.55;
    }

    50%{
        opacity:.88;
    }

    100%{
        transform:translateX(-50%) skewX(5deg);
        opacity:.70;
    }
}

@keyframes vipFinalCenterBeam{
    0%{
        transform:translateX(-50%) rotate(-5deg) scaleY(.92);
        opacity:.40;
    }

    100%{
        transform:translateX(-50%) rotate(5deg) scaleY(1.06);
        opacity:.72;
    }
}

@media(max-width:370px){
    #screen-vip .vip-medal-stage{
        width:260px !important;
        height:148px !important;
    }

    #screen-vip .vip-medal-stage > img{
        width:138px !important;
        height:138px !important;
    }

    #screen-vip #vip-selected-kicker{
        margin-top:0 !important;
    }
}

/* ===== Lucky Gift: saldo durante reenvio rápido ===== */
.quick-gift-wallet{
    position:fixed;
    z-index:176;
    left:12px;
    top:47%;
    transform:translateY(-50%);
    min-width:96px;
    min-height:58px;
    padding:9px 14px;
    border:1px solid rgba(255,180,76,.30);
    border-radius:16px;
    background:linear-gradient(155deg,rgba(37,22,48,.97),rgba(14,10,22,.97));
    box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 22px rgba(255,139,42,.08);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    animation:quick-gift-wallet-in .16s ease-out both;
}

.quick-gift-wallet-label{
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.2px;
    color:rgba(255,255,255,.62);
}

.quick-gift-wallet-value{
    margin-top:6px;
    font-size:15px;
    line-height:1;
    font-weight:900;
    color:#ffb64d;
    font-variant-numeric:tabular-nums;
}

@keyframes quick-gift-wallet-in{
    from{opacity:0;transform:translate(-18px,-50%) scale(.88)}
    to{opacity:1;transform:translate(0,-50%) scale(1)}
}

@media(max-width:370px){
    .quick-gift-wallet{
        left:8px;
        min-width:86px;
        padding:8px 10px;
    }
    .quick-gift-wallet-value{font-size:14px}
}

@media(prefers-reduced-motion:reduce){
    .quick-gift-wallet{animation:none}
}

/* ===== Ranking de usuários da sala ===== */
.room-ranking-open{
    width:100%;
    min-height:48px;
    padding:7px 12px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:15px;
    background:linear-gradient(135deg,rgba(255,184,77,.10),rgba(255,255,255,.025));
    color:#fff;
    display:flex;
    align-items:center;
    gap:10px;
    text-align:left;
}

.room-ranking-open-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:11px;
    display:grid;
    place-items:center;
    background:rgba(255,183,72,.10);
    font-size:18px;
}

.room-ranking-open-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
}

.room-ranking-open-copy strong{
    font-size:12px;
    font-weight:900;
}

.room-ranking-open-copy small{
    margin-top:3px;
    color:rgba(255,255,255,.55);
    font-size:8px;
}

.room-ranking-open-arrow{
    color:rgba(255,255,255,.55);
    font-size:24px;
    line-height:1;
}

.room-ranking-panel[hidden]{
    display:none!important;
}

.room-ranking-panel{
    position:fixed;
    inset:0;
    z-index:220;
    display:flex;
    align-items:flex-end;
    justify-content:center;
}

.room-ranking-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(3px);
}

.room-ranking-sheet{
    position:relative;
    z-index:1;
    width:min(100%,520px);
    height:min(78dvh,680px);
    padding:15px 14px calc(16px + env(safe-area-inset-bottom,0px));
    border:1px solid rgba(255,255,255,.08);
    border-bottom:0;
    border-radius:24px 24px 0 0;
    background:linear-gradient(180deg,#211729 0%,#120e19 32%,#0e0b14 100%);
    box-shadow:0 -18px 50px rgba(0,0,0,.48);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    animation:room-ranking-sheet-in .22s ease-out both;
}

.room-ranking-header{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.room-ranking-header strong{
    display:block;
    font-size:17px;
    font-weight:900;
}

.room-ranking-header small{
    display:block;
    margin-top:3px;
    color:#ffb64d;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px;
}

.room-ranking-close{
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:24px;
    line-height:1;
}

.room-ranking-categories{
    margin-top:10px;
    padding:4px;
    border-radius:14px;
    background:rgba(255,255,255,.045);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px;
}

.room-ranking-categories button{
    height:38px;
    border-radius:11px;
    background:transparent;
    color:rgba(255,255,255,.55);
    font-size:11px;
    font-weight:900;
}

.room-ranking-categories button.active{
    background:linear-gradient(135deg,#ffb64d,#e98532);
    color:#1b1010;
    box-shadow:0 6px 18px rgba(233,133,50,.18);
}

.room-ranking-periods{
    margin:11px 0 8px;
    display:flex;
    justify-content:center;
    gap:7px;
}

.room-ranking-periods button{
    min-width:76px;
    height:30px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:99px;
    background:rgba(255,255,255,.035);
    color:rgba(255,255,255,.52);
    font-size:9px;
    font-weight:800;
}

.room-ranking-periods button.active{
    border-color:rgba(255,182,77,.35);
    background:rgba(255,182,77,.11);
    color:#ffc56f;
}

.room-ranking-list{
    flex:1;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:4px 2px 8px;
}

.room-ranking-item{
    min-height:62px;
    padding:7px 9px;
    margin-top:6px;
    border:1px solid rgba(255,255,255,.045);
    border-radius:15px;
    background:rgba(255,255,255,.025);
    display:grid;
    grid-template-columns:32px 44px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
}

.room-ranking-position{
    width:27px;
    height:27px;
    border-radius:9px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.05);
    color:rgba(255,255,255,.62);
    font-size:10px;
    font-weight:900;
}

.room-ranking-position.top-1{
    background:linear-gradient(135deg,#ffe28a,#d89a27);
    color:#3b2600;
}

.room-ranking-position.top-2{
    background:linear-gradient(135deg,#eef2f6,#9ca7b3);
    color:#29313a;
}

.room-ranking-position.top-3{
    background:linear-gradient(135deg,#e6a16b,#9d5832);
    color:#32170a;
}

.room-ranking-avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:#2a2031;
    border:1px solid rgba(255,255,255,.10);
    font-size:14px;
    font-weight:900;
}

.room-ranking-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.room-ranking-user{
    min-width:0;
}

.room-ranking-user strong,
.room-ranking-user small{
    display:block;
}

.room-ranking-user strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    color:#fff;
}

.room-ranking-user small{
    margin-top:4px;
    font-size:8px;
    color:rgba(255,255,255,.42);
}

.room-ranking-score{
    padding-left:8px;
    text-align:right;
}

.room-ranking-score strong,
.room-ranking-score small{
    display:block;
}

.room-ranking-score strong{
    color:#ffc266;
    font-size:12px;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

.room-ranking-score small{
    margin-top:4px;
    color:rgba(255,255,255,.40);
    font-size:7px;
}

.room-ranking-loading,
.room-ranking-empty{
    min-height:180px;
    display:grid;
    place-items:center;
    text-align:center;
    color:rgba(255,255,255,.48);
    font-size:10px;
}

@keyframes room-ranking-sheet-in{
    from{opacity:0;transform:translateY(28px)}
    to{opacity:1;transform:translateY(0)}
}

@media(max-width:370px){
    .room-ranking-sheet{
        height:min(82dvh,680px);
        padding-left:10px;
        padding-right:10px;
    }

    .room-ranking-periods{
        gap:5px;
    }

    .room-ranking-periods button{
        min-width:68px;
        padding:0 9px;
    }

    .room-ranking-item{
        grid-template-columns:29px 40px minmax(0,1fr) auto;
        gap:6px;
    }

    .room-ranking-avatar{
        width:38px;
        height:38px;
    }
}

@media(prefers-reduced-motion:reduce){
    .room-ranking-sheet{animation:none}
}

/* ===== Ranking da sala: cápsula troféu + total diário ===== */
.room-stage-title{
    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.room-ranking-trophy{
    width:auto;
    min-width:82px;
    height:34px;
    padding:3px 12px 3px 7px;
    border:1px solid rgba(224,181,89,.22);
    border-radius:17px;
    background:linear-gradient(
        100deg,
        rgba(73,58,38,.72),
        rgba(35,29,25,.68)
    );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 4px 12px rgba(0,0,0,.16);
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    color:inherit;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}

.room-ranking-trophy:active{
    transform:scale(.97);
}

.room-ranking-trophy-icon{
    width:27px;
    height:27px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 27px;
    font-size:16px;
    line-height:1;
    background:rgba(218,172,71,.13);
}

.room-ranking-trophy-value{
    min-width:32px;
    font-size:13px;
    line-height:1;
    font-weight:800;
    letter-spacing:.1px;
    text-align:left;
    color:#e8c26c;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}


/* Carisma temporário: somente numerador nas cadeiras ocupadas */
.room-seat.seat-occupied small{
    color:#fff;
    font-size:8px;
    font-weight:600;
    opacity:.92;
}


/* Hierarquia visual: nome + Carisma */
.room-seat.seat-occupied > strong{
    font-size:10px;
}

.room-seat.seat-occupied small{
    font-size:7px;
    font-weight:600;
}

.seat-carisma-coin{
    display:inline-block;
    width:5px;
    height:5px;
    margin-right:3px;
    border-radius:50%;
    background:#e6bd59;
    color:transparent;
    vertical-align:1px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}


/* Alinhamento perfeito: micromoeda + numerador do Carisma */
.room-seat.seat-occupied small{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}

.seat-carisma-coin{
    vertical-align:0;
    flex:0 0 auto;
}


/* Painel de presentes: cabeçalho compacto */
.gift-panel-header{
    min-height:28px;
    padding:4px 10px 2px;
    justify-content:flex-end;
}

.gift-panel-close{
    width:26px;
    height:26px;
    font-size:17px;
}


/* ===== Ranking da sala: moldura equipada ===== */
.room-ranking-avatar-wrap{
    position:relative;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
    flex:0 0 42px;
}

.room-ranking-avatar-wrap .room-ranking-avatar{
    position:relative;
    z-index:1;
}

.room-ranking-frame{
    position:absolute;
    z-index:2;
    width:56px;
    height:56px;
    max-width:none;
    object-fit:contain;
    pointer-events:none;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}

@media(max-width:380px){
    .room-ranking-avatar-wrap{
        width:38px;
        height:38px;
        flex-basis:38px;
    }

    .room-ranking-frame{
        width:51px;
        height:51px;
    }
}

/* ===== BIG WIN GLOBAL ===== */

#global-big-win-layer{
    position:fixed;
    top:max(8px, env(safe-area-inset-top));
    left:0;
    width:100%;
    z-index:99999;
    display:flex;
    justify-content:center;
    pointer-events:none;
}

.global-big-win{
    position:relative;
    width:min(94vw, 560px);
    height:112px;
    padding:0;
    border:0;
    background:transparent;
    overflow:visible;
    cursor:pointer;
    pointer-events:auto;
    opacity:0;
    transform:translateY(-24px) scale(.96);
    transition:
        opacity .3s ease,
        transform .3s ease;
    -webkit-tap-highlight-color:transparent;
}

.global-big-win-visible{
    opacity:1;
    transform:translateY(0) scale(1);
}

.global-big-win-leaving{
    opacity:0;
    transform:translateY(-14px) scale(.98);
}

/* Faixa principal */
.global-big-win-base{
    position:absolute;
    z-index:1;
    width:76%;
    height:auto;
    left:12%;
    top:50%;
    transform:translateY(-50%);
    object-fit:contain;
    pointer-events:none;
}

/* Área esquerda */
.global-big-win-avatar-area{
    position:absolute;
    z-index:4;
    left:-1%;
    top:50%;
    width:25%;
    aspect-ratio:1374 / 1145;
    transform:translateY(-50%);
    display:block;
    pointer-events:none;
}

.global-big-win-avatar-photo{
    position:absolute;
    z-index:1;
    left:50%;
    top:50%;
    width:48%;
    aspect-ratio:1;
    transform:translate(-50%, -50%);
    border-radius:50%;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#163c29;
    color:#fff;
    font-size:26px;
    font-weight:800;
}

.global-big-win-avatar-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.global-big-win-avatar-ornament{
    position:absolute;
    z-index:2;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    pointer-events:none;
}

/* Texto central */






/* Área direita / multiplicador */
.global-big-win-multiplier-area{
    position:absolute;
    z-index:4;
    right:-1%;
    top:50%;
    width:25%;
    aspect-ratio:1371 / 1148;
    transform:translateY(-50%);
    display:block;
    pointer-events:none;
}

.global-big-win-multiplier-ornament{
    position:absolute;
    z-index:1;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    pointer-events:none;
}

.global-big-win-multiplier{
    position:absolute;
    z-index:2;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    white-space:nowrap;
    font-size:18px;
    font-weight:1000;
    color:#fff6bd;
    text-shadow:
        0 1px 2px rgba(0,0,0,.8),
        0 0 5px rgba(255,223,110,.55);
}

/* Celulares menores */
@media(max-width:380px){
    .global-big-win{
        width:96vw;
        height:98px;
    }

    

    

    .global-big-win-multiplier{
        font-size:16px;
    }

    .global-big-win-avatar-photo{
        font-size:22px;
    }
}
/* ===== Big Win — ajuste compacto ===== */
.global-big-win{
    width:min(68vw, 405px);
    height:82px;
}





.global-big-win-multiplier{
    font-size:14px;
}

.global-big-win-avatar-photo{
    font-size:18px;
}

@media(max-width:380px){
    .global-big-win{
        width:72vw;
        height:76px;
    }

    

    

    .global-big-win-multiplier{
        font-size:13px;
    }
}


/* ===== Big Win — avatar e texto ===== */

/* Aproxima a moldura/avatar da faixa */
.global-big-win-avatar-area{
    left:12.85%;
    width:21%;
}

/* Reserva corretamente a região central para o texto */


/* Nome */


/* Informação do prêmio */


@media(max-width:380px){
    

    
}



/* ===== Big Win — texto consolidado ===== */
.global-big-win-content{
    position:absolute;
    z-index:3;

    /* Área útil real da faixa entre os dois ornamentos */
    left:38.2%;
    width:47%;
    height:42px;
    top:50%;
    transform:translateY(-50%);

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;

    box-sizing:border-box;
    overflow:hidden;
    text-align:left;
    pointer-events:none;
}

.global-big-win-name{
    display:block;
    width:100%;
    margin:0;
    padding:0;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    font-size:10px;
    line-height:11px;
    font-weight:900;
    color:#fff;
}

.global-big-win-message{
    display:block;
    width:100%;
    margin:1px 0 0;
    padding:0;

    overflow:hidden;

    font-size:8px;
    line-height:9px;
    font-weight:700;
    color:#f7f3d2;
    text-shadow:0 1px 2px rgba(0,0,0,.45);
}

/* ===== Big Win — frase final ===== */
.global-big-win-content{
    height:32px;
}

.global-big-win-message{
    width:100%;
    margin:0;
    font-size:7.2px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.global-big-win-name{
    display:inline;
    width:auto;
    font-size:7.2px;
    line-height:inherit;
    white-space:nowrap;
}

.global-big-win-text{
    color:#f7f3d2;
    font-weight:700;
}

.global-big-win-value{
    color:#ffd75e;
    font-weight:900;
}

.global-big-win-gift-name{
    color:#9dffbd;
    font-weight:900;
}

/* Big Win — destaque moderado do nome */
.global-big-win-name{
    font-size:8.4px;
    font-weight:900;
}

.global-big-win-break{
    display:block;
}

/* ===== VoiceApp — componentes fixed dentro do mobile frame ===== */
@media (min-width:431px){

    /* WINS / Fishing Big Win */
    #global-big-win-layer{
        left:50%;
        width:430px;
        transform:translateX(-50%);
    }

    .global-big-win{
        width:94%;
        max-width:430px;
    }

    /* Ranking da sala */
    .room-ranking-sheet{
        width:430px;
        max-width:100%;
    }

    /* Saldo flutuante do Lucky Gift */
    .quick-gift-wallet{
        left:calc(50% - 203px);
    }
}

/* ===== VoiceApp — fixed restantes no frame de 430px ===== */
@media (min-width:431px){

    /* Lucky Gift — botão de reenvio na borda direita do app */
    .quick-gift-send{
        right:calc(50% - 203px);
    }

    /* Minha posição no ranking */
    .ranking-own{
        left:50%;
        right:auto;
        width:406px;
        max-width:calc(100vw - 24px);
        transform:translateX(-50%);
    }

    /* Toast global */
    .global-toast{
        max-width:398px;
    }

    /* Cards internos dos modais */
    .modal-card{
        max-width:398px;
    }

    /* Painel de presentes */
    .gift-panel{
        width:430px;
        max-width:100%;
    }
}




/* =========================================================
   MENSAGENS
   ========================================================= */

/* =========================================================
   MENSAGENS - INBOX FINAL
   ========================================================= */

#messages-inbox-view{
    width:100%;
    min-height:100%;
    padding-bottom:94px;

    background:
        radial-gradient(
            circle at 92% -4%,
            rgba(115,55,210,.14),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #0b0d15 0%,
            #090b12 100%
        );

    color:#fff;
}

/* TOPO */

.messages-topbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    min-height:92px;

    padding:
        calc(18px + env(safe-area-inset-top,0px))
        19px
        15px;

    background:transparent;
}

.messages-topbar .page-eyebrow{
    display:block;

    margin:0 0 7px;

    color:#8e88ad;

    font-size:9px;
    font-weight:800;
    letter-spacing:3.8px;
}

.messages-topbar .page-title{
    margin:0;

    color:#f9fafb;

    font-size:29px;
    font-weight:900;
    line-height:1;
    letter-spacing:-.8px;
}

/* não mostrar pesquisa nesta versão */

#messages-search-button,
.messages-search{
    display:none !important;
}

/* ÁREA DA LISTA */

.messages-scroll{
    padding:6px 17px 25px;
}

.messages-conversation-list,
.messages-private-list{
    width:100%;

    display:flex;
    flex-direction:column;

    gap:0;

    margin:0;
    padding:0;
}

/* UMA CONVERSA */

.messages-conversation{
    width:100%;
    min-height:78px;

    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    align-items:center;

    gap:13px;

    margin:0;
    padding:11px 1px;

    border:0;
    border-bottom:1px solid rgba(255,255,255,.065);
    border-radius:0;

    outline:none;

    background:transparent;

    box-shadow:none;

    color:#fff;
    text-align:left;

    appearance:none;
    -webkit-appearance:none;
}

.messages-conversation:active{
    background:rgba(255,255,255,.025);
}

/* AVATAR */

.messages-avatar{
    width:52px;
    height:52px;
    min-width:52px;

    display:grid;
    place-items:center;

    overflow:hidden;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #6123cf,
            #8d35e9
        );

    color:#fff;

    font-size:18px;
    font-weight:900;

    box-shadow:
        0 0 0 1px rgba(168,85,247,.30),
        0 5px 17px rgba(91,33,182,.18);
}

.messages-avatar img{
    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:50%;
}

/* CONTEÚDO */

.messages-conversation-content{
    min-width:0;

    display:flex;
    flex-direction:column;

    justify-content:center;

    gap:6px;
}

/* NOME + HORÁRIO */

.messages-conversation-top{
    width:100%;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:10px;

    min-width:0;
}

.messages-conversation-top strong{
    min-width:0;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    color:#f5f7fb;

    font-size:14px;
    font-weight:800;
    line-height:1.2;
}

.messages-conversation-top small{
    flex:0 0 auto;

    color:#817d9b;

    font-size:9px;
    font-weight:500;

    white-space:nowrap;
}

/* PRÉVIA + NÃO LIDAS */

.messages-conversation-bottom{
    width:100%;
    min-width:0;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:9px;
}

.messages-conversation-bottom > span{
    flex:1;
    min-width:0;

    display:block;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    color:#9995ae;

    font-size:11px;
    font-weight:400;
    line-height:1.35;
}

.messages-unread{
    flex:0 0 auto;

    min-width:19px;
    height:19px;

    display:grid;
    place-items:center;

    padding:0 5px;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #a855f7
        );

    color:#fff;

    font-size:8px;
    font-weight:900;

    box-shadow:
        0 3px 10px rgba(124,58,237,.30);
}

.messages-unread[hidden]{
    display:none !important;
}

/* SISTEMA */

.messages-system-avatar{
    background:
        linear-gradient(
            145deg,
            #6824dc,
            #9c3cf0
        );

    box-shadow:
        0 0 0 1px rgba(168,85,247,.36),
        0 5px 18px rgba(124,58,237,.22);
}

.messages-verified{
    display:inline-grid;
    place-items:center;

    width:15px;
    height:15px;

    margin-left:4px;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #a855f7
        );

    color:#fff;

    font-size:8px;
    font-style:normal;
    font-weight:900;

    vertical-align:1px;
}

/* último item */

.messages-private-list
.messages-conversation:last-child{
    border-bottom-color:rgba(255,255,255,.04);
}

/* MOBILE */

@media(max-width:380px){

    .messages-topbar{
        padding-left:15px;
        padding-right:15px;
    }

    .messages-topbar .page-title{
        font-size:27px;
    }

    .messages-scroll{
        padding-left:14px;
        padding-right:14px;
    }

    .messages-conversation{
        min-height:74px;

        grid-template-columns:50px minmax(0,1fr);

        gap:11px;

        padding:10px 0;
    }

    .messages-avatar{
        width:48px;
        height:48px;
        min-width:48px;

        font-size:17px;
    }
}




/* =========================================================
   MENSAGENS - CHAT INTERNO
   ========================================================= */

.messages-chat-view{
    position:relative;
    min-height:calc(100dvh - 70px);
    background:#0f131c;
}

.messages-chat-header{
    position:sticky;
    top:0;
    z-index:20;

    display:grid;
    grid-template-columns:42px 52px minmax(0,1fr);
    align-items:center;
    gap:10px;

    min-height:64px;

    padding:10px 14px;

    border-bottom:1px solid rgba(255,255,255,.06);

    background:rgba(15,19,28,.96);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.messages-back-button{
    width:38px;
    height:38px;

    display:grid;
    place-items:center;

    border:0;
    border-radius:50%;

    background:rgba(255,255,255,.06);

    color:#fff;
    font-size:28px;
    line-height:1;
}

.messages-chat-view .messages-avatar{
    width:52px;
    height:52px;
    min-width:52px;

    display:grid;
    place-items:center;

    overflow:hidden;

    border-radius:50%;

    background:linear-gradient(145deg,#5b21b6,#9333ea);

    color:#fff;
    font-weight:900;
}

.messages-chat-view .messages-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.messages-chat-user{
    min-width:0;
}

.messages-chat-user strong{
    display:block;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    color:#fff;

    font-size:14px;
    font-weight:800;
}

.messages-chat-user small{
    display:block;

    margin-top:3px;

    color:rgba(255,255,255,.44);

    font-size:9px;
}

.messages-chat-body{
    display:flex;
    flex-direction:column;
    gap:9px;

    padding:14px 12px 104px;

    overflow-y:auto;

    scroll-behavior:smooth;
}

/* mensagens do sistema */

.messages-system-message{
    position:relative;
    overflow:hidden;

    align-self:flex-start;

    max-width:88%;

    padding:13px 14px;

    border:1px solid rgba(255,255,255,.06);
    border-radius:8px 18px 18px 18px;

    background:rgba(255,255,255,.055);

    color:#fff;
}

.messages-system-message strong{
    display:block;
    font-size:12px;
}

.messages-system-message p{
    margin:6px 0 0;

    color:rgba(255,255,255,.68);

    font-size:11px;
    line-height:1.45;
}

.messages-system-message > small{
    display:block;

    margin-top:6px;

    color:rgba(255,255,255,.34);

    font-size:8px;
}

.messages-system-message.unread{
    border-color:rgba(167,139,250,.22);
    background:rgba(124,58,237,.10);
}

/* =========================
   MENSAGENS PRIVADAS
   ========================= */

.messages-private-body{
    padding-bottom:92px;
}

.messages-private-message{
    max-width:82%;

    padding:10px 12px 8px;

    border-radius:18px;

    font-size:13px;
    line-height:1.42;

    box-shadow:0 4px 14px rgba(0,0,0,.12);

    word-break:break-word;
}

.messages-private-message.received{
    align-self:flex-start;

    color:#fff;

    background:rgba(255,255,255,.075);

    border:1px solid rgba(255,255,255,.055);

    border-radius:7px 18px 18px 18px;
}

.messages-private-message.mine{
    align-self:flex-end;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #6d28d9,
            #8b5cf6
        );

    border-radius:18px 7px 18px 18px;
}

.messages-private-message p{
    margin:0;
    white-space:pre-wrap;
}

.messages-private-message small{
    display:block;

    margin-top:5px;

    text-align:right;

    font-size:9px;

    color:rgba(255,255,255,.55);
}

/* campo inferior */

.messages-composer{
    position:absolute;

    left:0;
    right:0;
    bottom:0;

    display:flex;
    align-items:flex-end;
    gap:9px;

    padding:
        10px
        12px
        calc(10px + env(safe-area-inset-bottom));

    background:rgba(15,19,28,.97);

    border-top:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.messages-composer textarea{
    flex:1;

    min-height:44px;
    max-height:110px;

    resize:none;

    border:0;
    outline:none;

    border-radius:22px;

    padding:12px 16px;

    background:rgba(255,255,255,.075);

    color:#fff;

    font:inherit;
    font-size:14px;
    line-height:20px;
}

.messages-composer textarea::placeholder{
    color:rgba(255,255,255,.38);
}

.messages-composer button{
    width:44px;
    height:44px;
    min-width:44px;

    display:grid;
    place-items:center;

    border:0;
    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #a855f7
        );

    color:#fff;

    font-size:18px;

    box-shadow:
        0 7px 20px rgba(124,58,237,.28);
}

.messages-composer button:disabled{
    opacity:.45;
}

@media(max-width:380px){
    .messages-chat-view .messages-avatar{
        width:50px;
        height:50px;
        min-width:50px;
    }

    .messages-system-message{
        max-width:92%;
    }
}


/* =========================================================
   RECARGA VERIFICADA
   ========================================================= */

.verified-recharge-message,
.messages-private-recharge-card{
    position:relative;
    overflow:hidden;
    width:min(88%,360px);
    padding:15px;
    border-radius:20px;
    border:1px solid rgba(250,204,21,.24);
    background:
        radial-gradient(circle at 100% 0,rgba(250,204,21,.16),transparent 35%),
        linear-gradient(145deg,#211b12,#17131d 72%);
    box-shadow:0 12px 30px rgba(0,0,0,.22);
    color:#fff;
}

.verified-recharge-message{
    align-self:flex-start;
}

.messages-private-recharge-card.recharge-mine{
    align-self:flex-end;
    border-color:rgba(196,181,253,.28);
    background:
        radial-gradient(circle at 100% 0,rgba(250,204,21,.14),transparent 34%),
        linear-gradient(145deg,#4c1d95,#6d28d9);
}

.messages-private-recharge-card.recharge-received{
    align-self:flex-start;
    border-color:rgba(74,222,128,.24);
    background:
        radial-gradient(circle at 100% 0,rgba(250,204,21,.12),transparent 34%),
        linear-gradient(145deg,#163128,#111c1a 72%);
}

.verified-recharge-shine{
    position:absolute;
    top:-80px;
    left:-90px;
    width:70px;
    height:260px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.18),
        transparent
    );
    transform:rotate(24deg);
    animation:verified-recharge-shine 3.4s ease-in-out infinite;
    pointer-events:none;
}

.verified-recharge-badge{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    min-height:23px;
    padding:0 9px;
    border-radius:999px;
    background:rgba(250,204,21,.13);
    border:1px solid rgba(250,204,21,.20);
    color:#fde68a;
    font-size:8px;
    font-weight:900;
    letter-spacing:.7px;
}

.verified-recharge-message > strong{
    position:relative;
    z-index:1;
    display:block;
    margin-top:10px;
    font-size:13px;
}

.verified-recharge-message p,
.messages-private-recharge-card p{
    position:relative;
    z-index:1;
    margin:8px 0 0;
    color:rgba(255,255,255,.68);
    font-size:11px;
    line-height:1.5;
}

.verified-recharge-value{
    position:relative;
    z-index:1;
    display:flex;
    align-items:baseline;
    gap:6px;
    margin-top:13px;
}

.verified-recharge-value span{
    color:#facc15;
    font-size:18px;
}

.verified-recharge-value b{
    color:#fff;
    font-size:23px;
    font-weight:900;
}

.verified-recharge-value small{
    color:rgba(255,255,255,.45);
    font-size:9px;
}

.verified-recharge-footer{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:12px;
    padding-top:9px;
    border-top:1px solid rgba(255,255,255,.07);
}

.verified-recharge-footer span,
.verified-recharge-footer small{
    color:rgba(255,255,255,.40);
    font-size:8px;
}

@keyframes verified-recharge-shine{
    0%,55%{
        transform:translateX(-140px) rotate(24deg);
        opacity:0;
    }
    65%{
        opacity:1;
    }
    100%{
        transform:translateX(500px) rotate(24deg);
        opacity:0;
    }
}

@media(max-width:380px){
    .messages-avatar{
        width:50px;
        height:50px;
        min-width:50px;
    }

    .messages-system-message,
    .verified-recharge-message,
    .messages-private-recharge-card{
        max-width:92%;
    }
}


/* =========================================================
   ADMINISTRAÇÃO
   ========================================================= */

.administration-page{
    min-height:100dvh;
    background:
        radial-gradient(
            circle at 90% 0,
            rgba(124,58,237,.18),
            transparent 30%
        ),
        radial-gradient(
            circle at 5% 22%,
            rgba(236,72,153,.08),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #100c18 0%,
            #0b0811 52%,
            #08060d 100%
        );
    color:#fff;
}

.administration-topbar{
    position:sticky;
    top:0;
    z-index:25;
    display:grid;
    grid-template-columns:44px 1fr 44px;
    align-items:center;
    gap:8px;
    min-height:64px;
    padding:
        calc(8px + env(safe-area-inset-top,0px))
        14px
        8px;
    border-bottom:1px solid rgba(255,255,255,.055);
    background:rgba(11,8,17,.92);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.administration-topbar > div{
    min-width:0;
    text-align:center;
}

.administration-topbar h2{
    margin:2px 0 0;
    color:#fff;
    font-size:20px;
    font-weight:900;
    line-height:1.15;
}

.administration-topbar .page-eyebrow{
    display:block;
    color:#a78bfa;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.7px;
}

.administration-back{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.075);
    border-radius:50%;
    background:rgba(255,255,255,.045);
    color:#fff;
    font-size:29px;
    line-height:1;
}

.administration-back:active{
    transform:scale(.95);
}

.administration-topbar-spacer{
    width:38px;
    height:38px;
}

.administration-scroll{
    width:min(100%,760px);
    margin:0 auto;
    padding:16px 14px 120px;
}

.administration-hero{
    position:relative;
    overflow:hidden;
    margin-bottom:16px;
    padding:20px;
    border:1px solid rgba(167,139,250,.16);
    border-radius:24px;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(168,85,247,.26),
            transparent 42%
        ),
        linear-gradient(
            145deg,
            rgba(40,26,58,.96),
            rgba(22,16,31,.96)
        );
    box-shadow:
        0 18px 42px rgba(0,0,0,.22);
}

.administration-hero::after{
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    right:-54px;
    bottom:-80px;
    border-radius:50%;
    background:rgba(168,85,247,.13);
    filter:blur(4px);
    pointer-events:none;
}

.administration-hero small{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 9px;
    border:1px solid rgba(196,181,253,.20);
    border-radius:999px;
    background:rgba(139,92,246,.10);
    color:#c4b5fd;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.1px;
}

.administration-hero h3{
    position:relative;
    z-index:1;
    margin:12px 0 6px;
    color:#fff;
    font-size:22px;
    font-weight:900;
}

.administration-hero p{
    position:relative;
    z-index:1;
    max-width:520px;
    margin:0;
    color:rgba(255,255,255,.54);
    font-size:11px;
    line-height:1.55;
}

/* cards principais */

.administration-role-panel{
    margin-top:12px;
}

.administration-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.administration-grid > button{
    position:relative;
    min-width:0;
    min-height:112px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:5px;
    overflow:hidden;
    padding:15px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:20px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.022)
        );
    color:#fff;
    text-align:left;
    box-shadow:
        0 8px 22px rgba(0,0,0,.12);
}

.administration-grid > button::after{
    content:"";
    position:absolute;
    width:72px;
    height:72px;
    right:-30px;
    top:-30px;
    border-radius:50%;
    background:rgba(139,92,246,.10);
    pointer-events:none;
}

.administration-grid > button:active{
    transform:scale(.975);
}

.administration-grid > button > span{
    min-width:34px;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 7px;
    border:1px solid rgba(167,139,250,.20);
    border-radius:11px;
    background:rgba(139,92,246,.12);
    color:#c4b5fd;
    font-size:18px;
    font-weight:900;
}

.administration-grid > button > strong{
    display:block;
    max-width:100%;
    color:#fff;
    font-size:13px;
    font-weight:900;
    line-height:1.25;
}

.administration-grid > button > small{
    display:block;
    max-width:100%;
    color:rgba(255,255,255,.43);
    font-size:9px;
    line-height:1.4;
}

/* Painéis secundários */

.administration-manage-panel{
    position:fixed;
    inset:0;
    z-index:350;
    margin:0;
    padding:
        calc(16px + env(safe-area-inset-top,0px))
        14px
        calc(26px + env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    border:0;
    border-radius:0;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(124,58,237,.16),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #100c18 0%,
            #0b0811 52%,
            #08060d 100%
        );
    box-shadow:none;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}

.administration-manage-panel[hidden]{
    display:none !important;
}

.administration-manage-panel > *{
    width:min(100%,720px);
    margin-left:auto;
    margin-right:auto;
}

.administration-manage-panel .administration-panel-head{
    position:sticky;
    top:calc(-16px - env(safe-area-inset-top,0px));
    z-index:3;
    margin:
        calc(-16px - env(safe-area-inset-top,0px))
        -14px
        18px;
    padding:
        calc(12px + env(safe-area-inset-top,0px))
        14px
        12px;
    background:rgba(11,8,17,.96);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(255,255,255,.06);
}

.administration-manage-panel .administration-panel-head > div{
    width:min(100%,650px);
}

.administration-manage-panel .administration-panel-head > button{
    flex:0 0 38px;
    width:38px;
    height:38px;
}

.administration-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
    padding-bottom:13px;
    border-bottom:1px solid rgba(255,255,255,.055);
}

.administration-panel-head > div{
    min-width:0;
}

.administration-panel-head small{
    display:block;
    margin-bottom:3px;
    color:#a78bfa;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.2px;
}

.administration-panel-head strong{
    display:block;
    color:#fff;
    font-size:16px;
    font-weight:900;
}

.administration-panel-head > button{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    background:rgba(255,255,255,.05);
    color:#fff;
    font-size:22px;
    line-height:1;
}

/* formulários */

.administration-team-form{
    display:grid;
    gap:12px;
}

.administration-team-form label{
    display:grid;
    gap:7px;
}

.administration-team-form label > span{
    color:rgba(255,255,255,.61);
    font-size:10px;
    font-weight:800;
}

.administration-team-form input,
.administration-team-form textarea,
.administration-team-form select{
    width:100%;
    min-height:46px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    outline:0;
    padding:10px 12px;
    background:rgba(255,255,255,.045);
    color:#fff;
    font:inherit;
    font-size:12px;
}

.administration-team-form textarea{
    min-height:84px;
    resize:vertical;
    line-height:1.45;
}

.administration-team-form select option{
    background:#17111f;
    color:#fff;
}

.administration-team-form input:focus,
.administration-team-form textarea:focus,
.administration-team-form select:focus{
    border-color:rgba(167,139,250,.52);
    box-shadow:
        0 0 0 3px rgba(139,92,246,.08);
}

.administration-team-form .primary-button{
    min-height:48px;
    border:0;
    border-radius:15px;
    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #a855f7
        );
    color:#fff;
    font-weight:900;
    box-shadow:
        0 9px 22px rgba(124,58,237,.22);
}

/* equipe */

#administration-team-list{
    display:grid;
    gap:9px;
    margin-top:16px;
}

.administration-team-row{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:11px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}

.administration-team-avatar{
    width:44px;
    height:44px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:
        linear-gradient(
            145deg,
            rgba(124,58,237,.42),
            rgba(168,85,247,.20)
        );
    color:#fff;
    font-size:15px;
    font-weight:900;
}

.administration-team-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.administration-team-info{
    min-width:0;
}

.administration-team-info strong{
    display:block;
    overflow:hidden;
    color:#fff;
    font-size:12px;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.administration-team-info span,
.administration-team-info small{
    display:block;
    overflow:hidden;
    margin-top:3px;
    color:rgba(255,255,255,.43);
    font-size:9px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.administration-team-remove{
    min-height:34px;
    padding:0 10px;
    border:1px solid rgba(248,113,113,.17);
    border-radius:11px;
    background:rgba(248,113,113,.08);
    color:#fca5a5;
    font-size:9px;
    font-weight:900;
}

/* Relatório */

.administration-report-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}

.administration-report-grid > *{
    min-width:0;
    padding:14px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}

.administration-report-grid strong{
    display:block;
    color:#fff;
    font-size:18px;
    font-weight:900;
}

.administration-report-grid span,
.administration-report-grid small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.43);
    font-size:9px;
}

/* Agências */

#administration-agencies-list{
    display:grid;
    gap:10px;
}

.administration-agency-row,
.administration-agency-card{
    padding:13px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:17px;
    background:rgba(255,255,255,.035);
}

.administration-agency-row strong,
.administration-agency-card strong{
    display:block;
    color:#fff;
    font-size:12px;
}

.administration-agency-row span,
.administration-agency-row small,
.administration-agency-card span,
.administration-agency-card small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.45);
    font-size:9px;
}

/* Auditoria */

#administration-audit-list{
    display:grid;
    gap:9px;
}

.administration-audit-row,
.administration-audit-item{
    padding:13px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}

.administration-audit-row strong,
.administration-audit-item strong{
    display:block;
    color:#fff;
    font-size:11px;
}

.administration-audit-row span,
.administration-audit-row small,
.administration-audit-item span,
.administration-audit-item small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.43);
    font-size:9px;
    line-height:1.45;
}

/* Painéis críticos */

#administration-ban-panel,
#administration-close-agency-panel,
#administration-remove-host-panel{
    border-color:rgba(248,113,113,.12);
}

#administration-ban-panel .primary-button,
#administration-close-agency-panel .primary-button,
#administration-remove-host-panel .primary-button{
    background:
        linear-gradient(
            135deg,
            #b91c1c,
            #e11d48
        );
    box-shadow:
        0 9px 22px rgba(190,24,93,.18);
}

@media(max-width:380px){
    .administration-scroll{
        padding-left:11px;
        padding-right:11px;
    }

    .administration-grid{
        gap:8px;
    }

    .administration-grid > button{
        min-height:105px;
        padding:13px;
    }

    .administration-grid > button > strong{
        font-size:12px;
    }

    .administration-report-grid{
        grid-template-columns:1fr;
    }
}


/* =========================
   RESELLER
========================= */

.reseller-page{
    background:
        radial-gradient(
            circle at top right,
            rgba(124,58,237,.18),
            transparent 34%
        ),
        #0f131c;
}

.reseller-topbar{
    display:grid;
    grid-template-columns:44px 1fr 44px;
    align-items:center;
    gap:8px;
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.06);
    background:rgba(15,19,28,.92);
    backdrop-filter:blur(14px);
}

.reseller-topbar h2{
    margin:2px 0 0;
    color:#fff;
    font-size:20px;
}

.reseller-topbar small{
    color:rgba(255,255,255,.45);
    font-size:9px;
    letter-spacing:1.3px;
}

.reseller-back{
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:26px;
}

.reseller-scroll{
    padding:16px 14px 110px;
    overflow:auto;
    height:100%;
}

.reseller-balance-card{
    padding:20px;
    border-radius:22px;
    background:
        linear-gradient(
            135deg,
            rgba(91,33,182,.95),
            rgba(126,34,206,.92)
        );
    box-shadow:
        0 14px 35px rgba(76,29,149,.28);
}

.reseller-balance-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.reseller-balance-head span{
    color:rgba(255,255,255,.72);
    font-size:12px;
}

.reseller-type-label{
    padding:5px 8px;
    border-radius:12px;
    background:rgba(255,255,255,.14);
    font-size:9px;
    letter-spacing:.5px;
}

.reseller-balance-card > strong{
    display:block;
    margin-top:12px;
    color:#fff;
    font-size:34px;
    line-height:1;
}

.reseller-balance-card > small{
    display:block;
    margin-top:6px;
    color:rgba(255,255,255,.58);
}

.reseller-tabs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:18px;
    padding:4px;
    border-radius:16px;
    background:rgba(255,255,255,.055);
}

.reseller-tabs button{
    min-height:40px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:rgba(255,255,255,.55);
    font-weight:700;
}

.reseller-tabs button.active{
    background:rgba(124,58,237,.9);
    color:#fff;
}

.reseller-panel{
    margin-top:16px;
}

.reseller-destination-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:16px;
}

.reseller-destination-switch button{
    min-height:42px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.05);
    color:rgba(255,255,255,.65);
    font-weight:700;
}

.reseller-destination-switch button.active{
    background:
        linear-gradient(
            135deg,
            #6d28d9,
            #9333ea
        );
    color:#fff;
    border-color:transparent;
}

.reseller-field{
    display:block;
    margin-bottom:14px;
}

.reseller-field > span{
    display:block;
    margin-bottom:7px;
    color:rgba(255,255,255,.62);
    font-size:12px;
    font-weight:600;
}

.reseller-field input{
    width:100%;
    min-height:48px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:15px;
    padding:0 14px;
    background:rgba(255,255,255,.055);
    color:#fff;
    outline:none;
    font-size:15px;
}

.reseller-id-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
}

.reseller-id-row button{
    padding:0 14px;
    border:0;
    border-radius:14px;
    background:rgba(124,58,237,.95);
    color:#fff;
    font-weight:700;
}

.reseller-target-preview{
    display:flex;
    align-items:center;
    gap:10px;
    margin:4px 0 16px;
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.06);
}

.reseller-target-preview img,
.reseller-target-avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    object-fit:cover;
}

.reseller-target-preview strong{
    display:block;
    color:#fff;
}

.reseller-target-preview small{
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.48);
}

.reseller-quick-values{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin:8px 0 18px;
}

.reseller-quick-values button{
    min-height:38px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:12px;
    background:rgba(255,255,255,.045);
    color:#fff;
    font-weight:700;
}

.reseller-send-button{
    width:100%;
    min-height:50px;
    border:0;
    border-radius:16px;
    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #a855f7
        );
    color:#fff;
    font-weight:800;
    font-size:15px;
    box-shadow:
        0 10px 24px rgba(124,58,237,.25);
}

.reseller-history-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.reseller-history-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 14px;
    border-radius:16px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.055);
}

.reseller-history-item strong{
    display:block;
    color:#fff;
    font-size:13px;
}

.reseller-history-item span{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.58);
    font-size:11px;
}

.reseller-history-item small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.35);
    font-size:9px;
}

.reseller-history-item > b{
    white-space:nowrap;
    font-size:14px;
}

.reseller-history-item > b.positive{
    color:#4ade80;
}

.reseller-history-item > b.negative{
    color:#fb7185;
}

/* =========================
   COMPROVANTE RESELLER
========================= */

.reseller-history-side{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
}

.reseller-receipt-button{
    border:0;
    border-radius:11px;
    padding:7px 10px;
    background:rgba(124,58,237,.16);
    color:#d8b4fe;
    font-size:10px;
    font-weight:800;
}

.reseller-receipt-modal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(0,0,0,.74);
    backdrop-filter:blur(12px);
}

.reseller-receipt-dialog{
    width:min(94vw,440px);
    max-height:92vh;
    overflow:auto;
    border-radius:22px;
    background:#15101d;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 24px 70px rgba(0,0,0,.45);
}

.reseller-receipt-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.reseller-receipt-header button{
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:22px;
}

.reseller-receipt-preview{
    padding:14px;
}

.reseller-receipt-preview img{
    display:block;
    width:100%;
    height:auto;
    border-radius:14px;
}

.reseller-receipt-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    padding:0 14px 14px;
}

.reseller-receipt-actions button{
    min-height:44px;
    border:0;
    border-radius:13px;
    background:rgba(124,58,237,.16);
    color:#e9d5ff;
    font-weight:800;
}

/* =========================
   RESELLER - SAQUES
========================= */

.reseller-withdrawal-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    margin-bottom:18px;
}

.reseller-withdrawal-summary article{
    position:relative;
    overflow:hidden;
    padding:13px 10px;
    border-radius:17px;
    border:1px solid rgba(255,255,255,.07);
    background:
        linear-gradient(
            145deg,
            rgba(124,58,237,.18),
            rgba(255,255,255,.035)
        );
    text-align:center;
}

.reseller-withdrawal-summary article::after{
    content:"";
    position:absolute;
    width:54px;
    height:54px;
    right:-20px;
    top:-24px;
    border-radius:50%;
    background:rgba(168,85,247,.15);
    filter:blur(2px);
}

.reseller-withdrawal-summary span{
    display:block;
    color:rgba(255,255,255,.5);
    font-size:10px;
    font-weight:700;
}

.reseller-withdrawal-summary strong{
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:22px;
}

.reseller-withdrawal-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:4px 2px 12px;
}

.reseller-withdrawal-heading small{
    display:block;
    color:#a78bfa;
    font-size:9px;
    font-weight:800;
    letter-spacing:1.1px;
}

.reseller-withdrawal-heading strong{
    display:block;
    margin-top:2px;
    color:#fff;
    font-size:16px;
}

.reseller-withdrawal-heading > span{
    padding:7px 10px;
    border-radius:12px;
    background:rgba(124,58,237,.13);
    color:#ddd6fe;
    font-size:12px;
}

.reseller-withdrawal-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.reseller-withdrawal-card{
    padding:14px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.065);
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.065),
            rgba(255,255,255,.025)
        );
}

.reseller-withdrawal-user{
    display:flex;
    align-items:center;
    gap:11px;
}

.reseller-withdrawal-avatar{
    width:46px;
    height:46px;
    flex:0 0 46px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(135deg,#6d28d9,#a855f7);
    color:#fff;
    font-weight:900;
}

.reseller-withdrawal-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.reseller-withdrawal-user-info{
    min-width:0;
    flex:1;
}

.reseller-withdrawal-user-info strong{
    display:block;
    overflow:hidden;
    color:#fff;
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.reseller-withdrawal-user-info span{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.46);
    font-size:10px;
}

.reseller-withdrawal-status{
    padding:6px 9px;
    border-radius:999px;
    font-size:9px;
    font-weight:900;
    white-space:nowrap;
}

.reseller-withdrawal-status.pending{
    background:rgba(245,158,11,.13);
    color:#fbbf24;
}

.reseller-withdrawal-status.approved{
    background:rgba(59,130,246,.13);
    color:#60a5fa;
}

.reseller-withdrawal-status.paid{
    background:rgba(34,197,94,.13);
    color:#4ade80;
}

.reseller-withdrawal-status.rejected{
    background:rgba(244,63,94,.13);
    color:#fb7185;
}

.reseller-withdrawal-value{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.055);
}

.reseller-withdrawal-value small{
    display:block;
    color:rgba(255,255,255,.38);
    font-size:9px;
}

.reseller-withdrawal-value strong{
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:18px;
}

.reseller-withdrawal-usd{
    color:#c4b5fd;
    font-size:14px;
    font-weight:900;
}

.reseller-withdrawal-meta{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-top:9px;
    color:rgba(255,255,255,.35);
    font-size:9px;
}

.reseller-withdrawal-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:13px;
}

.reseller-withdrawal-actions button{
    min-height:41px;
    border:0;
    border-radius:13px;
    font-size:11px;
    font-weight:900;
}

.reseller-withdrawal-approve{
    background:linear-gradient(135deg,#6d28d9,#9333ea);
    color:#fff;
}

.reseller-withdrawal-reject{
    background:rgba(244,63,94,.11);
    color:#fb7185;
}

.reseller-withdrawal-paid-button{
    grid-column:1 / -1;
    background:linear-gradient(135deg,#15803d,#22c55e);
    color:#fff;
}

.reseller-withdrawal-empty{
    padding:35px 18px;
    border-radius:20px;
    background:rgba(255,255,255,.035);
    color:rgba(255,255,255,.45);
    text-align:center;
    font-size:12px;
}

/* 3 abas no painel Reseller */
.reseller-tabs{
    grid-template-columns:repeat(3,1fr);
}

/* =========================================================
   CORREÇÕES 2026-09-27 — ACESSO, AGÊNCIA E PAINÉIS
   ========================================================= */

/* O atributo HTML hidden precisa sempre vencer regras display:grid/flex. */
[hidden]{
    display:none !important;
}

/* ---------- Perfil público: ações ---------- */
.public-profile-action-row{
    width:min(100%,420px);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:9px;
}

.public-profile-action-row .public-profile-follow-button,
.public-profile-message-button{
    width:100%;
    min-width:0;
    height:44px;
    border-radius:14px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.1px;
}

.public-profile-message-button{
    border:1px solid rgba(167,139,250,.22);
    background:
        linear-gradient(145deg,rgba(124,58,237,.18),rgba(91,33,182,.10));
    color:#ede9fe;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.public-profile-message-button:active{
    transform:scale(.975);
    background:rgba(124,58,237,.25);
}

/* ---------- Agência: página ---------- */
.agency-page{
    min-height:100dvh;
    color:#fff;
    background:
        radial-gradient(circle at 95% 0,rgba(124,58,237,.18),transparent 31%),
        radial-gradient(circle at 0 34%,rgba(236,72,153,.07),transparent 28%),
        linear-gradient(180deg,#100c18 0%,#0b0811 52%,#08060d 100%);
}

.agency-topbar{
    position:sticky;
    top:0;
    z-index:25;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    align-items:center;
    gap:8px;
    min-height:64px;
    padding:calc(8px + env(safe-area-inset-top,0px)) 14px 8px;
    border-bottom:1px solid rgba(255,255,255,.055);
    background:rgba(11,8,17,.92);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.agency-topbar>div{
    min-width:0;
    text-align:center;
}

.agency-topbar h2{
    margin:2px 0 0;
    font-size:20px;
    font-weight:900;
}

.agency-topbar .page-eyebrow{
    display:block;
    color:#c4b5fd;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.7px;
}

.agency-back{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.075);
    border-radius:50%;
    background:rgba(255,255,255,.045);
    color:#fff;
    font-size:29px;
    line-height:1;
}

.agency-back:active{transform:scale(.95)}
.agency-topbar-spacer{width:38px;height:38px}

.agency-scroll{
    width:min(100%,760px);
    margin:0 auto;
    padding:16px 14px 120px;
}

.agency-state{
    width:100%;
}

.agency-hero-card,
.agency-summary-card{
    position:relative;
    overflow:hidden;
    padding:20px;
    border:1px solid rgba(167,139,250,.15);
    border-radius:24px;
    background:
        radial-gradient(circle at 100% 0,rgba(168,85,247,.25),transparent 42%),
        linear-gradient(145deg,rgba(40,26,58,.96),rgba(22,16,31,.96));
    box-shadow:0 18px 42px rgba(0,0,0,.22);
}

.agency-hero-card::after,
.agency-summary-card::after{
    content:"";
    position:absolute;
    width:145px;
    height:145px;
    right:-60px;
    bottom:-86px;
    border-radius:50%;
    background:rgba(168,85,247,.12);
    pointer-events:none;
}

.agency-hero-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    margin-bottom:13px;
    border:1px solid rgba(196,181,253,.22);
    border-radius:15px;
    background:rgba(139,92,246,.14);
    color:#ddd6fe;
    font-size:23px;
}

.agency-hero-card>small,
.agency-summary-card>small{
    position:relative;
    z-index:1;
    display:block;
    color:#c4b5fd;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.4px;
}

.agency-hero-card h3,
.agency-summary-card h3{
    position:relative;
    z-index:1;
    margin:6px 0 4px;
    color:#fff;
    font-size:21px;
    line-height:1.15;
}

.agency-hero-card p{
    position:relative;
    z-index:1;
    max-width:540px;
    margin:8px 0 0;
    color:rgba(255,255,255,.55);
    font-size:11px;
    line-height:1.55;
}

.agency-summary-card>span{
    position:relative;
    z-index:1;
    display:block;
    margin-top:5px;
    color:rgba(255,255,255,.48);
    font-size:10px;
}

.agency-actions-grid,
.agency-menu-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
}

.agency-actions-grid>button,
.agency-menu-grid>button{
    min-width:0;
    min-height:104px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:5px;
    padding:14px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:19px;
    background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.022));
    color:#fff;
    text-align:left;
    box-shadow:0 8px 22px rgba(0,0,0,.11);
}

.agency-actions-grid>button:active,
.agency-menu-grid>button:active{transform:scale(.975)}

.agency-actions-grid>button>span,
.agency-menu-grid>button>span{
    min-width:34px;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 7px;
    border:1px solid rgba(167,139,250,.20);
    border-radius:11px;
    background:rgba(139,92,246,.12);
    color:#c4b5fd;
    font-size:18px;
    font-weight:900;
}

.agency-actions-grid strong,
.agency-menu-grid strong{
    display:block;
    max-width:100%;
    font-size:12px;
    font-weight:900;
    line-height:1.25;
}

.agency-actions-grid small,
.agency-menu-grid small{
    display:block;
    color:rgba(255,255,255,.42);
    font-size:9px;
    line-height:1.35;
}

.agency-summary-stats{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:17px;
}

.agency-summary-stats>div{
    min-width:0;
    padding:11px 8px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    background:rgba(255,255,255,.04);
    text-align:center;
}

.agency-summary-stats small,
.agency-summary-stats strong{display:block}
.agency-summary-stats small{color:rgba(255,255,255,.43);font-size:8px}
.agency-summary-stats strong{margin-top:4px;font-size:17px;font-weight:900}

.agency-leave-button{
    width:100%;
    min-height:46px;
    margin-top:14px;
    border:1px solid rgba(248,113,113,.18);
    border-radius:15px;
    background:rgba(248,113,113,.075);
    color:#fca5a5;
    font-size:11px;
    font-weight:900;
}

/* Agência: formulários e pesquisa */
.agency-form-panel{
    margin-top:14px;
    padding:16px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:21px;
    background:rgba(255,255,255,.032);
}

.agency-form-panel>h3{
    margin:0 0 14px;
    font-size:15px;
}

.agency-form{
    display:grid;
    gap:12px;
}

.agency-form label:not(.agency-logo-picker){
    display:grid;
    gap:7px;
}

.agency-form label>span{
    color:rgba(255,255,255,.62);
    font-size:10px;
    font-weight:800;
}

.agency-form input,
.agency-form textarea,
.agency-search-card textarea{
    width:100%;
    min-height:46px;
    border:1px solid rgba(255,255,255,.085);
    border-radius:14px;
    outline:0;
    padding:11px 12px;
    background:rgba(255,255,255,.045);
    color:#fff;
    font:inherit;
    font-size:12px;
}

.agency-form textarea,
.agency-search-card textarea{
    min-height:82px;
    resize:vertical;
    line-height:1.45;
}

.agency-form input:focus,
.agency-form textarea:focus,
.agency-search-card textarea:focus{
    border-color:rgba(167,139,250,.52);
    box-shadow:0 0 0 3px rgba(139,92,246,.08);
}

.agency-form .primary-button,
.agency-search-card .primary-button{
    min-height:47px;
    border:0;
    border-radius:15px;
    background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:#fff;
    font-weight:900;
    box-shadow:0 9px 22px rgba(124,58,237,.20);
}

.agency-logo-picker{
    display:grid;
    justify-items:center;
    gap:5px;
    padding:15px;
    border:1px dashed rgba(167,139,250,.24);
    border-radius:18px;
    background:rgba(139,92,246,.055);
    cursor:pointer;
    text-align:center;
}

.agency-logo-picker>span{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:18px;
    background:linear-gradient(145deg,rgba(124,58,237,.45),rgba(236,72,153,.20));
    color:#fff;
    font-size:25px;
}

.agency-logo-picker>span img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.agency-logo-picker>strong{font-size:11px}
.agency-logo-picker>small{color:rgba(255,255,255,.40);font-size:8px}

.agency-search-card{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:12px;
    margin-top:14px;
    padding:14px;
    border:1px solid rgba(167,139,250,.13);
    border-radius:19px;
    background:rgba(255,255,255,.035);
}

.agency-search-logo{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:18px;
    background:linear-gradient(145deg,#6d28d9,#9d4edd);
    color:#fff;
    font-size:19px;
    font-weight:900;
}

.agency-search-logo img{width:100%;height:100%;object-fit:cover}
.agency-search-info{min-width:0}
.agency-search-info>small{display:block;color:#c4b5fd;font-size:7px;font-weight:900;letter-spacing:1px}
.agency-search-info>strong{display:block;margin-top:3px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agency-search-info>span{display:block;margin-top:3px;color:rgba(255,255,255,.43);font-size:9px}
.agency-search-info>p{margin:8px 0 0;color:rgba(255,255,255,.55);font-size:10px;line-height:1.45}
.agency-search-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;color:rgba(255,255,255,.44);font-size:8px}
.agency-search-meta b{color:rgba(255,255,255,.75)}
.agency-search-card>textarea,
.agency-search-card>.primary-button{grid-column:1/-1}

.agency-request-sent{
    display:grid;
    place-items:center;
    gap:5px;
    margin-top:14px;
    padding:24px 16px;
    border:1px solid rgba(74,222,128,.15);
    border-radius:18px;
    background:rgba(34,197,94,.055);
    text-align:center;
}
.agency-request-sent>span{font-size:24px;color:#86efac}
.agency-request-sent>strong{font-size:12px}
.agency-request-sent>small{color:rgba(255,255,255,.43);font-size:9px}

/* Agência: painéis do agente */
.agency-manage-panel{
    position:fixed;
    inset:0;
    z-index:340;
    margin:0;
    padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(28px + env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    border:0;
    border-radius:0;
    background:
        radial-gradient(circle at 100% 0,rgba(124,58,237,.16),transparent 32%),
        linear-gradient(180deg,#100c18 0%,#0b0811 52%,#08060d 100%);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}

.agency-manage-panel>*{
    width:min(100%,720px);
    margin-left:auto;
    margin-right:auto;
}

.agency-panel-head{
    position:sticky;
    top:calc(-16px - env(safe-area-inset-top,0px));
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:calc(-16px - env(safe-area-inset-top,0px)) -14px 18px;
    padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px;
    border-bottom:1px solid rgba(255,255,255,.06);
    background:rgba(11,8,17,.96);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.agency-panel-head>strong{
    width:min(100%,650px);
    color:#fff;
    font-size:16px;
    font-weight:900;
}

.agency-panel-head>button{
    flex:0 0 38px;
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    background:rgba(255,255,255,.05);
    color:#fff;
    font-size:22px;
}

#agency-members-list,
#agency-requests-list,
#agency-invite-status{
    display:grid;
    gap:9px;
}

.agency-member-row,
.agency-invitation-row,
.agency-request-row{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:11px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}

.agency-member-avatar{
    width:44px;
    height:44px;
    overflow:hidden;
    display:grid;
    place-items:center;
    align-self:start;
    border-radius:50%;
    background:linear-gradient(145deg,rgba(124,58,237,.42),rgba(168,85,247,.20));
    color:#fff;
    font-size:15px;
    font-weight:900;
}

.agency-member-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.agency-member-info,
.agency-invitation-info,
.agency-request-content{min-width:0}

.agency-member-info strong,
.agency-invitation-info strong,
.agency-request-content>strong{
    display:block;
    overflow:hidden;
    color:#fff;
    font-size:12px;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.agency-member-info>span,
.agency-member-info>small,
.agency-invitation-info>span,
.agency-request-content>span{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.43);
    font-size:9px;
}

.agency-invitation-info p,
.agency-request-content p{
    margin:7px 0 0;
    color:rgba(255,255,255,.58);
    font-size:9px;
    line-height:1.45;
}

.agency-invitation-status{
    display:inline-flex!important;
    width:max-content;
    margin-top:6px!important;
    padding:4px 7px;
    border-radius:99px;
    background:rgba(245,158,11,.10);
    color:#fbbf24!important;
    font-size:7px!important;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.5px;
}
.agency-invitation-status-accepted{background:rgba(34,197,94,.10);color:#86efac!important}
.agency-invitation-status-rejected,
.agency-invitation-status-cancelled,
.agency-invitation-status-expired{background:rgba(248,113,113,.09);color:#fca5a5!important}

.agency-remove-member,
.agency-cancel-invitation{
    min-height:34px;
    padding:0 10px;
    border:1px solid rgba(248,113,113,.17);
    border-radius:11px;
    background:rgba(248,113,113,.08);
    color:#fca5a5;
    font-size:9px;
    font-weight:900;
}

.agency-request-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:10px;
}

.agency-request-actions button{
    min-height:34px;
    border:1px solid rgba(248,113,113,.14);
    border-radius:10px;
    background:rgba(248,113,113,.07);
    color:#fca5a5;
    font-size:9px;
    font-weight:900;
}

.agency-request-actions button.accept{
    border-color:rgba(74,222,128,.16);
    background:rgba(34,197,94,.09);
    color:#86efac;
}

.agency-invite-success{
    margin-top:10px;
    padding:11px 12px;
    border:1px solid rgba(74,222,128,.15);
    border-radius:13px;
    background:rgba(34,197,94,.065);
    color:#86efac;
    font-size:10px;
    font-weight:900;
}

/* Convites da agência exibidos nas mensagens do sistema */
.agency-notification-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:11px;
}

.agency-notification-actions button{
    min-height:36px;
    border-radius:11px;
    font-size:9px;
    font-weight:900;
}

.agency-notification-reject{
    border:1px solid rgba(248,113,113,.16);
    background:rgba(248,113,113,.075);
    color:#fca5a5;
}

.agency-notification-accept{
    border:1px solid rgba(74,222,128,.16);
    background:rgba(34,197,94,.09);
    color:#86efac;
}

/* ---------- Administração: classes dinâmicas que faltavam ---------- */
.administration-report-card{
    min-width:0;
    padding:14px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}

.administration-agency-row{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    align-items:center;
    gap:11px;
}

.administration-agency-logo{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:16px;
    background:linear-gradient(145deg,rgba(124,58,237,.48),rgba(168,85,247,.22));
    color:#fff;
    font-size:17px;
    font-weight:900;
}

.administration-agency-logo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.administration-agency-info{min-width:0}
.administration-agency-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.administration-audit-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}

.administration-audit-meta{
    display:flex;
    flex-wrap:wrap;
    gap:5px 10px;
    margin-top:8px;
    color:rgba(255,255,255,.43);
    font-size:8px;
}

.administration-team-info em{
    display:block;
    margin-top:4px;
    color:#c4b5fd;
    font-size:8px;
    font-style:normal;
}

/* reforço de estados privilegiados */
#profile-administration-button[hidden],
#profile-reseller-button[hidden],
.administration-role-panel[hidden],
.agency-state[hidden],
.agency-form-panel[hidden],
.agency-manage-panel[hidden],
.reseller-panel[hidden]{
    display:none !important;
}

@media(max-width:380px){
    .agency-scroll{padding-left:11px;padding-right:11px}
    .agency-actions-grid,
    .agency-menu-grid{gap:8px}
    .agency-actions-grid>button,
    .agency-menu-grid>button{min-height:98px;padding:12px}
    .agency-member-row,
    .agency-invitation-row{grid-template-columns:40px minmax(0,1fr)}
    .agency-member-avatar{width:40px;height:40px}
    .agency-remove-member,
    .agency-cancel-invitation{grid-column:2;justify-self:start}
}


/* Ajustes finais de elementos já existentes sem regra própria */
.agency-agent-summary{
    border-color:rgba(236,72,153,.13);
    background:
        radial-gradient(circle at 100% 0,rgba(236,72,153,.18),transparent 42%),
        linear-gradient(145deg,rgba(40,26,58,.96),rgba(22,16,31,.96));
}

.public-profile-top-spacer{
    width:38px;
    height:38px;
}

.public-profile-about-card{
    padding:16px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:18px;
    background:rgba(255,255,255,.03);
}

.public-profile-about-card p{
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:11px;
    line-height:1.55;
    white-space:pre-wrap;
    word-break:break-word;
}


/* ===== AGÊNCIA COMPLETA: PRODUÇÃO, METAS, COMISSÕES E REGRAS ===== */
.agency-panel-content{display:grid;gap:14px;padding:4px 0 20px}
.agency-production-hero,.agency-payment-card,.agency-commission-hero{padding:20px;border:1px solid rgba(255,255,255,.075);border-radius:22px;background:radial-gradient(circle at 85% 12%,rgba(143,88,255,.22),transparent 30%),linear-gradient(145deg,rgba(243,72,137,.10),rgba(255,255,255,.025));box-shadow:0 14px 34px rgba(0,0,0,.20)}
.agency-production-hero small,.agency-payment-card small,.agency-commission-hero small{display:block;color:#ff8db6;font-size:8px;font-weight:900;letter-spacing:1.3px}
.agency-production-hero strong,.agency-payment-card strong,.agency-commission-hero strong{display:block;margin:8px 0 5px;color:#fff;font-size:31px;line-height:1;font-weight:950;letter-spacing:-1px}
.agency-production-hero span,.agency-payment-card span,.agency-commission-hero span{display:block;color:rgba(255,255,255,.56);font-size:10px;line-height:1.45}
.agency-production-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.agency-production-grid>div{min-width:0;padding:13px 10px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:rgba(255,255,255,.028)}
.agency-production-grid small,.agency-production-grid strong,.agency-production-grid span{display:block}
.agency-production-grid small{color:var(--text-muted);font-size:8px}.agency-production-grid strong{margin:5px 0 3px;color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agency-production-grid span{color:rgba(255,255,255,.42);font-size:7px}
.agency-progress-card,.agency-note-card{padding:15px;border:1px solid rgba(255,255,255,.065);border-radius:18px;background:rgba(255,255,255,.027)}
.agency-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;font-size:10px;font-weight:800}.agency-progress-head b{color:#ff8db6}
.agency-progress-track{height:8px;margin:11px 0 9px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}.agency-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f34889,#8f58ff)}
.agency-progress-card p,.agency-note-card p{margin:0;color:var(--text-soft);font-size:9px;line-height:1.55}.agency-note-card strong{display:block;margin-bottom:6px;color:#fff;font-size:11px}
.agency-target-list{display:grid;gap:7px}.agency-target-row{display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:9px 12px;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:rgba(255,255,255,.022)}.agency-target-row span{color:var(--text-muted);font-size:9px;font-weight:800}.agency-target-row strong{color:#fff;font-size:11px}.agency-target-row b{color:#ffd08a;font-size:10px;text-align:right}
.agency-rule-list{display:grid;gap:7px}.agency-rule-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:rgba(255,255,255,.022)}.agency-rule-list b{flex:0 0 auto;color:#fff;font-size:9px}.agency-rule-list span{color:var(--text-soft);font-size:9px;line-height:1.45;text-align:right}.agency-rule-list-large>div{display:grid;grid-template-columns:100px 1fr}.agency-rule-list-large span{text-align:left}
@media(max-width:370px){.agency-production-grid{grid-template-columns:1fr}.agency-target-row{grid-template-columns:58px minmax(0,1fr) auto}.agency-rule-list-large>div{grid-template-columns:86px 1fr}}

/* ===== WALLET RESTORED 20260927 ===== */
.wallet-page{
    min-height:100dvh;
    padding-bottom:96px;
    background:
        radial-gradient(circle at 88% 5%,rgba(143,88,255,.14),transparent 30%),
        radial-gradient(circle at 8% 90%,rgba(243,72,137,.10),transparent 28%),
        #09070f;
}
.wallet-topbar{
    position:sticky;
    top:0;
    z-index:25;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:calc(14px + env(safe-area-inset-top,0px)) 16px 13px;
    border-bottom:1px solid rgba(255,255,255,.055);
    background:rgba(9,7,15,.92);
    backdrop-filter:blur(20px);
}
.wallet-register-button{
    min-height:38px;
    padding:0 15px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.wallet-scroll{padding:18px 16px 120px}
.wallet-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    padding:5px;
    margin-bottom:14px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:18px;
    background:rgba(255,255,255,.028);
}
.wallet-tabs button{
    min-height:42px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:rgba(255,255,255,.52);
    font-size:11px;
    font-weight:850;
    transition:.18s ease;
}
.wallet-tabs button.active{
    color:#fff;
    background:linear-gradient(135deg,rgba(243,72,137,.24),rgba(143,88,255,.22));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.18);
}
.wallet-balance-panel{
    position:relative;
    overflow:hidden;
    min-height:210px;
    padding:24px 22px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:26px;
    background:
        radial-gradient(circle at 88% 12%,rgba(242,188,105,.18),transparent 26%),
        radial-gradient(circle at 15% 100%,rgba(143,88,255,.18),transparent 32%),
        linear-gradient(145deg,#19111f,#0e0b15 70%);
    box-shadow:0 20px 48px rgba(0,0,0,.28);
}
#wallet-panel-diamonds{
    background:
        radial-gradient(circle at 86% 15%,rgba(99,212,255,.20),transparent 27%),
        radial-gradient(circle at 10% 100%,rgba(120,112,255,.18),transparent 30%),
        linear-gradient(145deg,#101b2a,#0b0d17 72%);
}
.wallet-balance-panel::after{
    content:"";
    position:absolute;
    right:-36px;
    bottom:-70px;
    width:190px;
    height:190px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.06);
    box-shadow:0 0 0 24px rgba(255,255,255,.018),0 0 0 48px rgba(255,255,255,.012);
    pointer-events:none;
}
.wallet-balance-label,.wallet-balance-unit,.wallet-balance-value{position:relative;z-index:1;display:block}
.wallet-balance-label{
    color:rgba(255,255,255,.60);
    font-size:10px;
    font-weight:800;
    letter-spacing:.7px;
    text-transform:uppercase;
}
.wallet-balance-value{
    margin:14px 0 4px;
    color:#fff;
    font-size:clamp(38px,12vw,58px);
    line-height:1;
    letter-spacing:-2px;
    overflow-wrap:anywhere;
}
.wallet-balance-unit{
    color:rgba(255,255,255,.44);
    font-size:10px;
    font-weight:700;
}
.wallet-diamond-actions{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:26px;
}
.wallet-action-primary,.wallet-action-secondary{
    min-height:46px;
    padding:0 14px;
    border-radius:15px;
    font-size:10px;
    font-weight:900;
}
.wallet-action-primary{
    color:#fff;
    background:linear-gradient(135deg,#f34889,#8f58ff);
    box-shadow:0 10px 24px rgba(143,88,255,.20);
}
.wallet-action-secondary{
    border:1px solid rgba(255,255,255,.09);
    color:#fff;
    background:rgba(255,255,255,.055);
}
.wallet-action-secondary small{display:block;margin-top:2px;color:rgba(255,255,255,.45);font-size:7px}
.wallet-action-secondary:disabled,.wallet-action-primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.wallet-popup{
    position:fixed;
    z-index:240;
    inset:0;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:18px 14px calc(18px + env(safe-area-inset-bottom,0px));
    background:rgba(3,2,7,.72);
    backdrop-filter:blur(12px);
}
.wallet-popup-card{
    width:min(100%,560px);
    max-height:84dvh;
    overflow:auto;
    padding:18px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:26px;
    background:linear-gradient(180deg,#17121f,#0e0b14);
    box-shadow:0 26px 70px rgba(0,0,0,.52);
}
.wallet-popup-head{
    position:sticky;
    top:-18px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:-18px -18px 16px;
    padding:18px;
    border-bottom:1px solid rgba(255,255,255,.055);
    background:rgba(18,14,26,.96);
    backdrop-filter:blur(16px);
}
.wallet-popup-head small,.wallet-popup-head strong{display:block}
.wallet-popup-head small{margin-bottom:4px;color:#ff79aa;font-size:8px;font-weight:900;letter-spacing:1.2px}
.wallet-popup-head strong{font-size:18px}
.wallet-popup-head>button{
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    background:rgba(255,255,255,.05);
    color:#fff;
    font-size:22px;
}
.wallet-record-filters{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-bottom:14px;
}
.wallet-record-filters select,.wallet-record-filters input,
.wallet-convert-card input{
    width:100%;
    min-height:46px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    outline:0;
    background:rgba(255,255,255,.045);
    color:#fff;
    font-size:11px;
}
.wallet-record-filters option{background:#17121f;color:#fff}
.wallet-record-list{display:grid;gap:9px;min-height:120px}
.wallet-record-list .transaction-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    min-height:68px;
    padding:12px 13px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:17px;
    background:rgba(255,255,255,.028);
}
.wallet-record-list .transaction-item>div:first-child{min-width:0}
.wallet-record-list .transaction-item strong,.wallet-record-list .transaction-item small{display:block}
.wallet-record-list .transaction-item strong{overflow:hidden;color:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.wallet-record-list .transaction-item small{margin-top:4px;color:rgba(255,255,255,.40);font-size:8px}
.wallet-record-list .transaction-item>div:last-child{text-align:right;color:#fff;font-size:12px;font-weight:900}
.wallet-record-list .transaction-item>div:last-child small{font-weight:700}
.wallet-convert-card>p{margin:0 0 8px;color:rgba(255,255,255,.64);font-size:11px;line-height:1.5}
.wallet-convert-card .wallet-convert-fee{color:#ffb1ce;font-size:9px}
.wallet-convert-card label{display:grid;gap:7px;margin-top:16px}
.wallet-convert-card label>span{color:rgba(255,255,255,.62);font-size:9px;font-weight:800}
.wallet-convert-preview{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin:14px 0;
}
.wallet-convert-preview>div{
    min-width:0;
    padding:13px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:16px;
    background:rgba(255,255,255,.028);
}
.wallet-convert-preview span,.wallet-convert-preview strong{display:block}
.wallet-convert-preview span{color:rgba(255,255,255,.40);font-size:8px}
.wallet-convert-preview strong{margin-top:5px;color:#fff;font-size:11px;overflow-wrap:anywhere}
.wallet-convert-card>.wallet-action-primary{width:100%;margin-top:2px}
@media(max-width:380px){
    .wallet-diamond-actions,.wallet-record-filters,.wallet-convert-preview{grid-template-columns:1fr}
    .wallet-balance-panel{min-height:190px;padding:21px 18px}
}

/* ===== Sala: controles inferiores maiores ===== */
.room-actions-v120{
    gap:12px;
    padding:10px 10px calc(12px + env(safe-area-inset-bottom,0px));
}
.room-actions-left,
.room-actions-right{
    gap:7px;
}
.room-actions-v120 button{
    width:68px;
    min-height:70px;
    padding:5px 3px;
    border-radius:17px;
    gap:4px;
}
.room-actions-v120 small{
    max-width:66px;
    font-size:9px;
}
.room-action-image{
    width:42px;
    height:42px;
}
@media(max-width:370px){
    .room-actions-v120{
        gap:5px;
        padding-left:5px;
        padding-right:5px;
    }
    .room-actions-left,
    .room-actions-right{
        gap:2px;
    }
    .room-actions-v120 button{
        width:60px;
        min-height:66px;
    }
    .room-action-image{
        width:38px;
        height:38px;
    }
    .room-actions-v120 small{
        max-width:58px;
        font-size:8px;
    }
}

/* ===== Room reactions / pack 1 — modal visual fix ===== */
body.room-reactions-open{overflow:hidden}
.room-reactions-backdrop{
    position:fixed;
    z-index:196;
    inset:0;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:0;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
}
.room-reactions-backdrop[hidden]{display:none!important}
.room-reactions-panel{
    width:min(100%,700px);
    max-height:50dvh;
    min-height:235px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));
    border:1px solid rgba(255,255,255,.08);
    border-bottom:0;
    border-radius:28px 28px 0 0;
    background:linear-gradient(180deg,rgba(18,14,25,.995),rgba(8,7,12,.995));
    box-shadow:0 -22px 60px rgba(0,0,0,.5);
    animation:roomReactionsIn .2s ease-out;
}
@keyframes roomReactionsIn{
    from{transform:translateY(28px);opacity:.72}
    to{transform:translateY(0);opacity:1}
}
.room-reactions-handle{
    flex:0 0 auto;
    width:42px;
    height:4px;
    margin:8px auto 3px;
    border-radius:99px;
    background:rgba(255,255,255,.18);
}
.room-reactions-header{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:42px;
    padding:6px 4px 8px;
}
.room-reactions-header small,
.room-reactions-header strong{display:block}
.room-reactions-header small{
    font-size:8px;
    letter-spacing:1.5px;
    color:#ff76aa;
    font-weight:900;
}
.room-reactions-header strong{
    margin-top:2px;
    font-size:15px;
    color:#fff;
}
.room-reactions-close{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.075);
    border-radius:50%;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:19px;
}
.room-reaction-packs{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    padding:7px 2px 10px;
    margin:0 0 8px;
    border-bottom:1px solid rgba(255,255,255,.045);
}
.room-reaction-packs button{
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.07);
    border-radius:13px;
    background:rgba(255,255,255,.035);
    color:#fff;
    font-size:21px;
}
.room-reaction-packs button.active{
    border-color:rgba(255,82,148,.42);
    background:linear-gradient(135deg,rgba(255,70,140,.20),rgba(127,77,255,.13));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.room-reaction-packs button:disabled{opacity:.34}
.room-reactions-grid{
    flex:1;
    min-height:0;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    align-content:start;
    gap:8px 6px;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:4px 0 7px;
    scrollbar-width:none;
}
.room-reactions-grid::-webkit-scrollbar{display:none}
.room-reaction-choice{
    aspect-ratio:1/1;
    min-width:0;
    display:grid;
    place-items:center;
    padding:4px;
    overflow:hidden;
    border:1px solid transparent;
    border-radius:14px;
    background:rgba(255,255,255,.028);
    color:#fff;
    transition:transform .14s ease,border-color .14s ease,background .14s ease;
}
.room-reaction-choice:active{
    transform:scale(.93);
    border-color:rgba(255,82,148,.30);
    background:rgba(255,82,148,.10);
}
.room-reaction-choice img{
    display:block;
    width:100%;
    height:100%;
    max-width:58px;
    max-height:58px;
    object-fit:contain;
}
.room-seat .seat-avatar{position:relative;overflow:visible}
.seat-reaction-layer{
    position:absolute;
    z-index:40!important;
    left:50%;
    top:50%;
    width:120%;
    height:120%;
    display:grid;
    place-items:center;
    pointer-events:none;
    opacity:0;
    transform:translate(-50%,-58%) scale(.72);
    transition:opacity .16s ease,transform .18s ease;
    filter:drop-shadow(0 7px 12px rgba(0,0,0,.38));
}
.seat-reaction-layer.show{
    opacity:1;
    transform:translate(-50%,-58%) scale(1);
}
.seat-reaction-layer img{
    position:relative;
    z-index:41!important;
    width:100%;
    height:100%;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain;
    border-radius:0!important;
}
@media(max-width:370px){
    .room-reactions-panel{padding-left:9px;padding-right:9px}
    .room-reaction-packs{gap:5px}
    .room-reaction-packs button{height:39px;font-size:19px}
    .room-reactions-grid{gap:6px 4px}
    .room-reaction-choice{padding:3px;border-radius:11px}
    .room-reaction-choice img{max-width:52px;max-height:52px}
    }
}


/* ===== Títulos automáticos do perfil ===== */

.profile-titles-row{
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
    max-width:100%;
    margin-top:3px;
    margin-bottom:5px;
}

.profile-titles-row[hidden]{
    display:none !important;
}

.profile-title-image{
    display:block;
    width:125px;
    height:25px;
    flex:0 0 auto;
    object-fit:contain;
}

.public-profile-titles-row{
    justify-content:center;
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:370px){
    .profile-title-image{
        width:115px;
        height:23px;
    }
}


/* ===== Títulos: perfil, popup e chat ===== */

.profile-titles-row{
    justify-content:center!important;
    width:100%;
}

.profile-inline-titles{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:4px;
}

.profile-inline-title-image{
    display:block;
    width:115px;
    height:23px;
    object-fit:contain;
}

.room-user-profile-titles{
    width:100%;
    margin:5px auto 7px;
}

.chat-user-titles{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:wrap;
    gap:3px;
    margin:2px 0 3px;
}

.chat-user-titles .profile-inline-title-image{
    width:85px;
    height:17px;
}

/* ===== AJUSTE FINAL DOS TÍTULOS ===== */

/* PERFIL: até 4 títulos por linha */
.profile-titles-row{
    display:flex;
    align-items:center;
    justify-content:center!important;
    flex-wrap:wrap;
    gap:4px;
    width:100%;
}

.profile-titles-row .profile-title-image{
    width:calc((100% - 12px) / 4);
    max-width:112px;
    height:auto;
    max-height:23px;
    object-fit:contain;
    flex:0 1 calc((100% - 12px) / 4);
}


/* POPUP DE PERFIL: mesmo padrão */
.room-user-profile-titles{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:4px;
    width:100%;
}

.room-user-profile-titles .profile-inline-title-image{
    width:calc((100% - 12px) / 4);
    max-width:112px;
    height:auto;
    max-height:23px;
    object-fit:contain;
    flex:0 1 calc((100% - 12px) / 4);
}


/* CHAT: até 3 títulos lado a lado */
.chat-user-titles{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:3px;
    width:100%;
    margin:2px 0 3px;
}

.chat-user-titles .profile-inline-title-image{
    width:calc((100% - 6px) / 3);
    max-width:81px;
    height:auto;
    max-height:16px;
    object-fit:contain;
    flex:0 1 calc((100% - 6px) / 3);
}


/* ===== AJUSTE NOME DO USUÁRIO NO CHAT ===== */
.room-chat-user-name,
.chat-user-name,
.room-chat-name{
    font-size:109%!important;
}

/* ===== WALLET PIX / MERCADO PAGO 20260928 ===== */
.wallet-purchase-section{margin-top:16px;padding:17px;border:1px solid rgba(255,255,255,.075);border-radius:24px;background:linear-gradient(145deg,rgba(243,72,137,.07),rgba(143,88,255,.06)),rgba(255,255,255,.018)}
.wallet-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}.wallet-section-heading span,.wallet-section-heading h3,.wallet-section-heading small{display:block}.wallet-section-heading span{margin-bottom:4px;color:#ff79aa;font-size:8px;font-weight:900;letter-spacing:1.2px}.wallet-section-heading h3{margin:0;color:#fff;font-size:17px}.wallet-section-heading small{color:rgba(255,255,255,.42);font-size:8px;font-weight:700}
.wallet-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wallet-package-card{position:relative;overflow:hidden;min-height:126px;padding:14px 12px;border:1px solid rgba(255,255,255,.075);border-radius:19px;background:radial-gradient(circle at 90% 10%,rgba(242,188,105,.13),transparent 30%),rgba(255,255,255,.032);color:#fff;text-align:left;transition:.16s transform,.16s border-color,.16s background}.wallet-package-card:active{transform:scale(.975)}.wallet-package-card:hover{border-color:rgba(255,121,170,.28);background:radial-gradient(circle at 90% 10%,rgba(242,188,105,.16),transparent 31%),rgba(255,255,255,.045)}.wallet-package-icon{position:absolute;right:12px;top:11px;color:#e9bd72;font-size:14px;text-shadow:0 0 14px rgba(233,189,114,.35)}.wallet-package-card strong,.wallet-package-card small,.wallet-package-card b{display:block}.wallet-package-card strong{margin-top:18px;font-size:20px;line-height:1}.wallet-package-card small{margin-top:4px;color:rgba(255,255,255,.42);font-size:8px;font-weight:750}.wallet-package-card b{margin-top:13px;color:#ffd28b;font-size:12px}.wallet-purchase-note{margin:12px 2px 0;color:rgba(255,255,255,.38);font-size:8px;line-height:1.45}
.wallet-history-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin-bottom:14px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}.wallet-history-tabs button{min-height:39px;border-radius:12px;background:transparent;color:rgba(255,255,255,.46);font-size:10px;font-weight:850}.wallet-history-tabs button.active{color:#fff;background:linear-gradient(135deg,rgba(243,72,137,.22),rgba(143,88,255,.20));box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.wallet-purchase-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:end;padding:14px 15px;margin-bottom:15px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:radial-gradient(circle at 90% 20%,rgba(242,188,105,.14),transparent 35%),rgba(255,255,255,.028)}.wallet-purchase-summary span{grid-column:1/-1;color:rgba(255,255,255,.44);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.wallet-purchase-summary strong{color:#fff;font-size:18px}.wallet-purchase-summary b{color:#ffd28b;font-size:14px}
.wallet-purchase-form{display:grid;gap:12px}.wallet-purchase-form label{display:grid;gap:7px}.wallet-purchase-form label>span,.wallet-pix-code-label>span{color:rgba(255,255,255,.62);font-size:9px;font-weight:800}.wallet-purchase-form input,.wallet-pix-code-label textarea{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:14px;outline:0;background:rgba(255,255,255,.045);color:#fff;font-size:11px}.wallet-purchase-form input{height:47px;padding:0 13px}.wallet-pix-code-label textarea{min-height:78px;padding:11px 12px;resize:none;line-height:1.4;word-break:break-all}.wallet-purchase-form input:focus,.wallet-pix-code-label textarea:focus{border-color:rgba(255,121,170,.35);box-shadow:0 0 0 3px rgba(243,72,137,.07)}.wallet-purchase-privacy{margin:0;color:rgba(255,255,255,.36);font-size:8px;line-height:1.45}.wallet-purchase-submit,.wallet-pix-copy{width:100%;margin-top:2px}
.wallet-pix-view{display:grid;gap:13px}.wallet-pix-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.026);font-size:10px}.wallet-pix-status>span{width:8px;height:8px;border-radius:50%;background:#ffbd66;box-shadow:0 0 12px rgba(255,189,102,.55)}.wallet-pix-status.pending>span{animation:walletPixPulse 1.35s ease-in-out infinite}.wallet-pix-status.approved{color:#bffbd8;border-color:rgba(78,224,143,.22);background:rgba(78,224,143,.07)}.wallet-pix-status.approved>span{background:#4ee08f;box-shadow:0 0 12px rgba(78,224,143,.55)}.wallet-pix-status.expired,.wallet-pix-status.rejected,.wallet-pix-status.cancelled,.wallet-pix-status.failed,.wallet-pix-status.charged_back{color:#ffbdc9;border-color:rgba(255,105,133,.18);background:rgba(255,105,133,.06)}.wallet-pix-status.expired>span,.wallet-pix-status.rejected>span,.wallet-pix-status.cancelled>span,.wallet-pix-status.failed>span,.wallet-pix-status.charged_back>span{background:#ff6985;box-shadow:0 0 12px rgba(255,105,133,.42)}
@keyframes walletPixPulse{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.wallet-pix-order-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.wallet-pix-order-summary>div{padding:12px 13px;border:1px solid rgba(255,255,255,.065);border-radius:15px;background:rgba(255,255,255,.026)}.wallet-pix-order-summary span,.wallet-pix-order-summary strong{display:block}.wallet-pix-order-summary span{color:rgba(255,255,255,.4);font-size:8px}.wallet-pix-order-summary strong{margin-top:5px;color:#fff;font-size:12px}
.wallet-pix-qr-shell{width:min(250px,82vw);aspect-ratio:1;margin:2px auto;padding:10px;border-radius:21px;background:#fff;box-shadow:0 16px 38px rgba(0,0,0,.28)}.wallet-pix-qr-shell img{display:block;width:100%;height:100%;object-fit:contain;border-radius:11px}.wallet-pix-expiration{text-align:center}.wallet-pix-expiration span,.wallet-pix-expiration strong{display:block}.wallet-pix-expiration span{color:rgba(255,255,255,.42);font-size:8px}.wallet-pix-expiration strong{margin-top:4px;color:#ffd28b;font-size:18px;letter-spacing:.7px}.wallet-pix-code-label{display:grid;gap:7px}.wallet-pix-message{margin:0;text-align:center;color:rgba(255,255,255,.45);font-size:8px;line-height:1.5}
.wallet-purchase-history-list{display:grid;gap:9px;min-height:120px}.wallet-purchase-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid rgba(255,255,255,.065);border-radius:17px;background:rgba(255,255,255,.028)}.wallet-purchase-history-main{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;min-width:0}.wallet-purchase-history-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,rgba(243,72,137,.15),rgba(143,88,255,.16));color:#ffd28b}.wallet-purchase-history-main strong,.wallet-purchase-history-main small,.wallet-purchase-history-main em,.wallet-purchase-history-side strong,.wallet-purchase-history-side span{display:block}.wallet-purchase-history-main strong{color:#fff;font-size:11px}.wallet-purchase-history-main small{margin-top:3px;color:rgba(255,255,255,.40);font-size:8px}.wallet-purchase-history-main em{margin-top:3px;overflow:hidden;color:rgba(255,255,255,.24);font-size:6px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.wallet-purchase-history-side{text-align:right}.wallet-purchase-history-side>strong{margin-bottom:6px;color:#fff;font-size:11px}.wallet-purchase-badge{max-width:132px;padding:4px 7px;border-radius:99px;background:rgba(255,189,102,.09);color:#ffcf8f;font-size:7px;font-weight:850;white-space:nowrap}.wallet-purchase-badge.approved{background:rgba(78,224,143,.09);color:#9df1c1}.wallet-purchase-badge.expired,.wallet-purchase-badge.rejected,.wallet-purchase-badge.cancelled,.wallet-purchase-badge.failed,.wallet-purchase-badge.charged_back{background:rgba(255,105,133,.08);color:#ff9bad}.wallet-purchase-badge.refunded{background:rgba(112,170,255,.09);color:#a9ccff}
@media(max-width:380px){.wallet-package-grid{gap:8px}.wallet-package-card{min-height:118px;padding:12px 10px}.wallet-package-card strong{font-size:18px}.wallet-section-heading{align-items:flex-start;flex-direction:column;gap:2px}.wallet-purchase-history-item{grid-template-columns:1fr}.wallet-purchase-history-side{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.wallet-purchase-history-side>strong{margin:0}.wallet-pix-order-summary{grid-template-columns:1fr 1fr}}



/* ===== ANGELLVOICY • BABY PINK THEME 20260929 ===== */
:root{
    --bg:#181116;
    --surface:#241820;
    --border:rgba(245,190,214,.13);
    --border-strong:rgba(245,190,214,.22);
    --pink-soft:#f3b6cf;
    --pink-strong:#d982aa;
    --text-soft:#f8eaf1;
    --text-muted:#bfa4b1;
    --shadow-soft:0 18px 44px rgba(42,20,32,.24);
}
body{background:radial-gradient(circle at 12% -8%,rgba(245,190,214,.17),transparent 34%),radial-gradient(circle at 92% 12%,rgba(199,180,232,.10),transparent 32%),#181116;color:#fff}
.page-topbar,.bottom-nav{background:rgba(30,19,26,.94);border-color:rgba(245,190,214,.13)}
.panel-card,.transaction-item,.notification-item,.ticket-item,.vip-card,.inventory-card,.level-card{background:rgba(255,228,240,.035);border-color:rgba(245,190,214,.12)}
.nav-item-active{color:#f3b6cf}.nav-create .nav-icon{background:linear-gradient(145deg,#efb3cc,#d77fa7)}
.primary-button,.wallet-action-primary{background:linear-gradient(135deg,#e59abb,#cfc0ea)!important;color:#3a1f2e!important;box-shadow:0 10px 26px rgba(213,133,171,.20)!important}
.small-button{background:rgba(243,182,207,.13)}
.home-header,.auth-panel{border-color:rgba(245,190,214,.10)}

/* Wallet em rosa bebê + lavanda suave */
.wallet-purchase-section{border-color:rgba(243,182,207,.20);background:linear-gradient(145deg,rgba(243,182,207,.12),rgba(207,192,234,.08)),rgba(255,255,255,.018)}
.wallet-section-heading span{color:#f3b6cf}
.wallet-package-card{border-color:rgba(243,182,207,.16);background:radial-gradient(circle at 90% 10%,rgba(243,182,207,.17),transparent 32%),linear-gradient(145deg,rgba(255,228,240,.065),rgba(207,192,234,.045))}
.wallet-package-card:hover{border-color:rgba(243,182,207,.34);background:radial-gradient(circle at 90% 10%,rgba(243,182,207,.22),transparent 32%),rgba(255,228,240,.07)}
.wallet-package-icon,.wallet-package-card b,.wallet-purchase-summary b,.wallet-pix-expiration strong{color:#f7c8da}
.wallet-history-tabs button.active{background:linear-gradient(135deg,rgba(243,182,207,.24),rgba(207,192,234,.18))}
.wallet-purchase-summary{background:radial-gradient(circle at 90% 20%,rgba(243,182,207,.14),transparent 35%),rgba(255,255,255,.028)}
.wallet-purchase-form input:focus,.wallet-pix-code-label textarea:focus{border-color:rgba(243,182,207,.42);box-shadow:0 0 0 3px rgba(243,182,207,.08)}

/* QR aprovado */
.wallet-pix-qr-shell{position:relative;overflow:hidden;transition:.22s ease border-color,.22s ease box-shadow,.22s ease background}
.wallet-pix-qr-shell.is-approved{padding:12px;border:3px solid #57d694;background:#f1fff7;box-shadow:0 16px 40px rgba(52,186,118,.25),0 0 0 6px rgba(87,214,148,.08)}
.wallet-pix-qr-shell.is-approved img{opacity:.28;filter:saturate(.45)}
.wallet-pix-qr-shell.is-approved:before{content:"✓";position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#63df9f,#39bd7a);color:#fff;font-size:48px;font-weight:900;box-shadow:0 12px 28px rgba(41,160,102,.34)}
.wallet-pix-qr-shell.is-approved:after{content:"APROVADO";position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);padding:6px 12px;border-radius:99px;background:rgba(29,122,78,.92);color:#fff;font-size:9px;font-weight:900;letter-spacing:1.1px}
.wallet-pix-view.is-approved .wallet-pix-message{padding:10px 12px;border-radius:13px;background:rgba(78,224,143,.08);color:#aef2ca;font-size:9px;font-weight:800}

/* Botão e popup de comprovante */
.wallet-receipt-button{margin-top:7px;min-height:30px;padding:0 11px;border:1px solid rgba(243,182,207,.24);border-radius:10px;background:linear-gradient(135deg,rgba(243,182,207,.16),rgba(207,192,234,.12));color:#f6d2e1;font-size:8px;font-weight:900;letter-spacing:.2px}
.wallet-receipt-button:active{transform:scale(.97)}
.wallet-receipt-card{background:linear-gradient(180deg,#261921,#1c1318);border-color:rgba(243,182,207,.20)}
.wallet-receipt-head small{color:#eeb1ca!important}
.wallet-receipt-success{display:flex;align-items:center;gap:12px;padding:13px 14px;margin-bottom:13px;border:1px solid rgba(78,224,143,.20);border-radius:16px;background:rgba(78,224,143,.07)}
.wallet-receipt-success>span{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#4fd48f;color:#fff;font-size:24px;font-weight:900;box-shadow:0 8px 18px rgba(78,224,143,.22)}
.wallet-receipt-success strong,.wallet-receipt-success small{display:block}.wallet-receipt-success strong{color:#c8f8dc;font-size:12px}.wallet-receipt-success small{margin-top:3px;color:rgba(200,248,220,.58);font-size:8px}
.wallet-receipt-highlight{padding:17px 15px;margin-bottom:12px;border:1px solid rgba(243,182,207,.15);border-radius:18px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(243,182,207,.13),transparent 55%),rgba(255,255,255,.025)}
.wallet-receipt-highlight span,.wallet-receipt-highlight strong,.wallet-receipt-highlight b{display:block}.wallet-receipt-highlight span{color:rgba(255,255,255,.45);font-size:8px;text-transform:uppercase;letter-spacing:.8px}.wallet-receipt-highlight strong{margin-top:6px;color:#fff;font-size:24px}.wallet-receipt-highlight b{margin-top:5px;color:#f4bfd4;font-size:13px}
.wallet-receipt-details{display:grid;gap:1px;overflow:hidden;border:1px solid rgba(243,182,207,.11);border-radius:16px;background:rgba(255,255,255,.025)}
.wallet-receipt-details>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(243,182,207,.08)}.wallet-receipt-details>div:last-child{border-bottom:0}
.wallet-receipt-details span{color:rgba(255,255,255,.42);font-size:8px}.wallet-receipt-details strong{overflow-wrap:anywhere;text-align:right;color:#f8edf2;font-size:8px;font-weight:800}.wallet-receipt-approved-label{color:#8ce8b4!important}
.wallet-receipt-footnote{margin:12px 4px;color:rgba(255,255,255,.34);font-size:7px;line-height:1.5;text-align:center}.wallet-receipt-done{width:100%;margin-top:2px}
@media(max-width:380px){.wallet-receipt-details>div{grid-template-columns:1fr;gap:4px}.wallet-receipt-details strong{text-align:left}.wallet-receipt-button{margin-top:0}}

/* ===== ANGELLVOICY • ROSE BACKGROUND V2 20260929 ===== */
:root{
    --bg:#3a2431;
    --surface:#4a2d3d;
    --border:rgba(255,220,235,.16);
    --border-strong:rgba(255,220,235,.27);
    --pink-soft:#f5bfd4;
    --pink-strong:#e393b5;
    --text-soft:#fff4f8;
    --text-muted:#d8bdc9;
    --shadow-soft:0 18px 44px rgba(64,25,44,.28);
}
html,body,#app{background:#3a2431!important}
body{
    background:
        radial-gradient(circle at 12% -8%,rgba(255,206,228,.24),transparent 34%),
        radial-gradient(circle at 92% 12%,rgba(218,198,239,.16),transparent 31%),
        linear-gradient(180deg,#4a2c3d 0%,#3a2431 48%,#321e2a 100%)!important;
    color:#fff;
}
.screen,.app-page,.home-screen,.auth-screen{
    background-color:transparent!important;
}
.page-topbar,.bottom-nav{
    background:rgba(63,36,51,.91)!important;
    border-color:rgba(255,220,235,.16)!important;
}
.panel-card,.transaction-item,.notification-item,.ticket-item,.vip-card,.inventory-card,.level-card{
    background:rgba(255,236,244,.055)!important;
    border-color:rgba(255,220,235,.14)!important;
}
.wallet-card{
    border-color:rgba(255,215,231,.22)!important;
    background:
        radial-gradient(circle at 85% 20%,rgba(255,204,225,.20),transparent 30%),
        linear-gradient(145deg,#573447,#392431 68%)!important;
}
.wallet-purchase-section{
    border-color:rgba(255,218,233,.24)!important;
    background:linear-gradient(145deg,rgba(255,211,229,.15),rgba(216,199,239,.10)),rgba(72,42,58,.62)!important;
    box-shadow:0 15px 36px rgba(56,24,40,.18);
}
.wallet-package-card{
    border-color:rgba(255,220,235,.20)!important;
    background:
        radial-gradient(circle at 90% 10%,rgba(255,211,229,.22),transparent 32%),
        linear-gradient(145deg,rgba(255,237,244,.10),rgba(216,199,239,.07))!important;
}
.wallet-package-card:hover{
    border-color:rgba(255,220,235,.38)!important;
    background:
        radial-gradient(circle at 90% 10%,rgba(255,211,229,.27),transparent 32%),
        rgba(255,238,245,.10)!important;
}
.wallet-package-icon,.wallet-package-card b,.wallet-purchase-summary b,.wallet-pix-expiration strong{color:#ffd5e5!important}
.wallet-purchase-summary,.wallet-pix-order-summary>div,.wallet-purchase-history-item{
    background:rgba(255,239,246,.055)!important;
    border-color:rgba(255,220,235,.14)!important;
}
.wallet-history-tabs{background:rgba(66,37,52,.56)!important;border-color:rgba(255,220,235,.14)!important}
.wallet-history-tabs button.active{background:linear-gradient(135deg,rgba(245,191,212,.28),rgba(216,199,239,.20))!important}
.wallet-purchase-form input,.wallet-pix-code-label textarea{background:rgba(255,240,246,.07)!important;border-color:rgba(255,220,235,.15)!important}
.wallet-purchase-form input:focus,.wallet-pix-code-label textarea:focus{border-color:rgba(245,191,212,.52)!important;box-shadow:0 0 0 3px rgba(245,191,212,.11)!important}
.modal-card,.wallet-receipt-card{background:linear-gradient(180deg,#533246,#392531)!important;border-color:rgba(255,220,235,.18)!important}
.global-toast{background:rgba(66,37,52,.96)!important;border-color:rgba(255,220,235,.16)!important}



/* ===== AngellVoicy Store Preview Fullscreen 20260929 ===== */
.store-card-actions{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:7px;align-items:center;padding:0 10px 10px}
.store-card-actions .store-price-button{width:100%;height:34px;margin:0}
.store-play-button{width:36px;height:34px;border-radius:11px;display:grid;place-items:center;border:1px solid rgba(255,183,211,.38);background:linear-gradient(145deg,rgba(255,196,220,.22),rgba(180,142,255,.13));color:#ffeaf3;box-shadow:0 7px 18px rgba(117,48,83,.16);transition:transform .16s ease,background .16s ease,border-color .16s ease}
.store-play-button span{font-size:12px;line-height:1;transform:translateX(1px)}
.store-play-button:active{transform:scale(.94)}
.store-play-button:hover{background:linear-gradient(145deg,rgba(255,196,220,.32),rgba(180,142,255,.20));border-color:rgba(255,211,229,.58)}
body.store-effect-preview-open{overflow:hidden}
.store-effect-preview-overlay{position:fixed;z-index:9999;inset:0;background:rgba(22,8,19,.84);backdrop-filter:blur(18px);display:grid;place-items:stretch;opacity:0;transition:opacity .18s ease}
.store-effect-preview-overlay.show{opacity:1}
.store-effect-preview-shell{position:relative;width:100%;height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(circle at 50% 26%,rgba(255,185,216,.20),transparent 31%),radial-gradient(circle at 78% 78%,rgba(181,154,255,.12),transparent 30%),linear-gradient(180deg,#6f3656 0%,#4d2842 48%,#2c182a 100%)}
.store-effect-preview-header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 12px;border-bottom:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(59,25,48,.72),rgba(59,25,48,.18));backdrop-filter:blur(14px)}
.store-effect-preview-header div{min-width:0}.store-effect-preview-header small,.store-effect-preview-header strong{display:block}.store-effect-preview-header small{font-size:8px;letter-spacing:.9px;text-transform:uppercase;color:rgba(255,235,244,.70);font-weight:800}.store-effect-preview-header strong{margin-top:4px;max-width:calc(100vw - 86px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#fff}
.store-effect-preview-close{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;font-size:27px;font-weight:300;line-height:1}
.store-effect-preview-stage{position:relative;min-height:0;display:grid;place-items:center;padding:18px;overflow:hidden}
.store-effect-preview-stage:before{content:"";position:absolute;width:min(76vw,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,208,227,.13),transparent 66%);filter:blur(3px);pointer-events:none}
.store-effect-preview-media{position:relative;z-index:1;display:block;max-width:min(94vw,760px);max-height:calc(100dvh - 170px);width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 18px 34px rgba(21,6,17,.28))}
video.store-effect-preview-media{width:min(94vw,760px);max-height:calc(100dvh - 180px);border-radius:18px;background:rgba(16,7,14,.34);box-shadow:0 18px 56px rgba(20,7,17,.34)}
.store-effect-preview-stage .chat-bubble-preview{position:relative;z-index:1;width:min(92vw,620px);padding:26px}
.store-effect-preview-empty{position:relative;z-index:1;display:grid;place-items:center;gap:10px;color:rgba(255,255,255,.72);text-align:center}.store-effect-preview-empty span{font-size:56px;color:rgba(255,218,233,.48)}.store-effect-preview-empty strong{font-size:13px}
.store-effect-preview-caption{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px calc(15px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.08);background:rgba(45,20,38,.48);color:rgba(255,244,248,.82);font-size:10px;font-weight:800;letter-spacing:.3px}.store-effect-preview-playmark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,209,228,.16);border:1px solid rgba(255,225,237,.22);font-size:9px;padding-left:1px}
@media(min-width:700px){.store-play-button{width:38px}.store-card-actions{grid-template-columns:minmax(0,1fr) 38px}.store-effect-preview-header{padding-left:28px;padding-right:28px}.store-effect-preview-stage{padding:28px}}

/* ===== ANGELLVOICY • ROSE + BABY BLUE GLOBAL THEME V3 20260929 ===== */
:root{
    --av-rose-deep:#321b2a;
    --av-rose-dark:#432438;
    --av-rose:#633650;
    --av-rose-soft:#a86183;
    --av-rose-baby:#efbdd2;
    --av-rose-pale:#f8dce8;
    --av-blue:#8fcbe8;
    --av-blue-baby:#bfe6f7;
    --av-blue-pale:#e0f4fc;
    --av-ink:#fff9fb;
    --av-muted:#e4cbd6;
    --av-line:rgba(255,225,238,.16);
    --av-line-blue:rgba(174,220,244,.22);
    --bg:var(--av-rose-deep);
    --surface:rgba(92,48,73,.78);
    --border:var(--av-line);
    --border-strong:rgba(255,225,238,.27);
    --pink-soft:var(--av-rose-baby);
    --pink-strong:#d47aa2;
    --text-soft:var(--av-ink);
    --text-muted:var(--av-muted);
    --shadow-soft:0 18px 46px rgba(34,16,29,.30);
}
html,body,#app{
    background:var(--av-rose-deep)!important;
}
body{
    color:var(--av-ink)!important;
    background:
        radial-gradient(circle at 8% -5%,rgba(239,189,210,.32),transparent 31%),
        radial-gradient(circle at 95% 5%,rgba(143,203,232,.27),transparent 30%),
        radial-gradient(circle at 75% 78%,rgba(191,230,247,.11),transparent 33%),
        linear-gradient(180deg,#5a3048 0%,#432438 45%,#321b2a 100%)!important;
}
.screen,.app-page,.home-screen,.auth-screen,.room-page{
    background-color:transparent!important;
}

/* Logo oficial */
.angellvoicy-logo{
    display:block;
    flex:0 0 auto;
    object-fit:cover;
    border-radius:18px;
    border:1px solid rgba(255,241,247,.28);
    box-shadow:0 9px 24px rgba(37,14,30,.22),0 0 0 3px rgba(143,203,232,.06);
}
.angellvoicy-logo-mini{width:42px;height:42px;border-radius:13px}
.angellvoicy-logo-large{width:92px;height:92px;border-radius:25px;margin:0 auto 14px}
.brand-mini,.home-brand{display:flex;align-items:center;gap:10px}
.brand-name span,.brand-mini strong span,.home-brand strong span{color:var(--av-blue-baby)!important}

/* Estrutura global */
.page-topbar,.bottom-nav,.room-header-v104,.room-header-v120,.room-actions-v104{
    background:rgba(55,28,46,.90)!important;
    border-color:var(--av-line)!important;
    backdrop-filter:blur(20px)!important;
}
.bottom-nav{
    box-shadow:0 18px 52px rgba(29,12,24,.34),0 0 0 1px rgba(143,203,232,.04)!important;
}
.nav-item-active{color:var(--av-blue-baby)!important}
.nav-create .nav-icon{
    background:linear-gradient(145deg,#df88ae,#8fcbe8)!important;
    box-shadow:0 9px 24px rgba(91,57,100,.25)!important;
}

/* Cards e superfícies */
.panel-card,.transaction-item,.notification-item,.ticket-item,.vip-card,.inventory-card,.level-card,
.store-card,.ranking-card,.event-card,.cp-card,.visitor-card,.settings-list,.profile-hero{
    background:linear-gradient(145deg,rgba(255,235,244,.075),rgba(176,220,243,.045))!important;
    border-color:rgba(255,228,239,.14)!important;
    box-shadow:0 12px 30px rgba(34,15,27,.10)!important;
}
.search-box,.input-shell,.room-chat-form-v104 input,.room-sheet-button,.room-sheet-summary,.room-info-card{
    background:rgba(255,241,247,.055)!important;
    border-color:rgba(255,228,239,.13)!important;
}
.search-box:focus-within,.input-shell:focus-within{
    border-color:rgba(143,203,232,.46)!important;
    box-shadow:0 0 0 3px rgba(143,203,232,.08)!important;
}
.primary-button,.small-button,.enter-room-button{
    background:linear-gradient(135deg,#d97fa7,#8fcbe8)!important;
    color:#fff!important;
    box-shadow:0 9px 22px rgba(64,38,70,.20)!important;
}
.section-link,.page-eyebrow,.hero-eyebrow{color:var(--av-blue-baby)!important}

/* Home e autenticação */
.auth-hero{
    background:
        radial-gradient(circle at 14% 12%,rgba(246,198,218,.32),transparent 28%),
        radial-gradient(circle at 86% 17%,rgba(143,203,232,.30),transparent 30%),
        linear-gradient(145deg,#6b3856,#42263d 72%)!important;
}
.auth-panel{background:rgba(54,28,45,.84)!important}
.auth-tab-active{color:#fff!important;border-color:var(--av-blue-baby)!important}
.home-header{background:linear-gradient(180deg,rgba(62,32,51,.94),rgba(62,32,51,.60))!important}
.home-shortcut .shortcut-icon,.icon-button,.avatar-button{
    border-color:rgba(191,230,247,.16)!important;
    background:linear-gradient(145deg,rgba(239,189,210,.11),rgba(143,203,232,.09))!important;
}

/* Sala */
.room-page{
    background:
        radial-gradient(circle at 80% 0%,rgba(143,203,232,.18),transparent 32%),
        radial-gradient(circle at 10% 15%,rgba(239,189,210,.15),transparent 28%),
        linear-gradient(180deg,#4a293e 0%,#321b2a 100%)!important;
}
.room-cover-v104{
    border-color:rgba(191,230,247,.15)!important;
    background:radial-gradient(circle at 22% 28%,rgba(239,189,210,.30),transparent 29%),radial-gradient(circle at 82% 20%,rgba(143,203,232,.30),transparent 30%),linear-gradient(135deg,#63364f,#2f3148 72%)!important;
}
.room-chat-v104{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(143,203,232,.018))!important}
.room-chat-tabs button.active:after{background:linear-gradient(90deg,#e79abb,#8fcbe8)!important}
.room-chat-form-v104 .chat-send-button{background:linear-gradient(145deg,#dd83aa,#8fcbe8)!important}
.room-seat.seat-self .seat-avatar{border-color:#a8dff4!important;box-shadow:0 0 0 3px rgba(143,203,232,.11),0 0 18px rgba(239,189,210,.18)!important}

/* Carteira */
.wallet-card{
    border-color:rgba(191,230,247,.22)!important;
    background:radial-gradient(circle at 88% 15%,rgba(143,203,232,.22),transparent 31%),radial-gradient(circle at 12% 78%,rgba(239,189,210,.15),transparent 32%),linear-gradient(145deg,#69405a,#3d2938 70%)!important;
}
.wallet-purchase-section{
    background:linear-gradient(145deg,rgba(239,189,210,.15),rgba(143,203,232,.09)),rgba(70,37,57,.72)!important;
    border-color:rgba(191,230,247,.18)!important;
}
.wallet-package-card{
    background:radial-gradient(circle at 90% 10%,rgba(143,203,232,.17),transparent 32%),linear-gradient(145deg,rgba(255,239,246,.09),rgba(239,189,210,.07))!important;
    border-color:rgba(255,225,238,.16)!important;
}
.wallet-package-card:hover{border-color:rgba(143,203,232,.36)!important}
.wallet-package-icon,.wallet-package-card b,.wallet-purchase-summary b,.wallet-pix-expiration strong{color:var(--av-blue-baby)!important}
.wallet-history-tabs button.active{background:linear-gradient(135deg,rgba(221,131,170,.28),rgba(143,203,232,.24))!important}
.wallet-purchase-history-icon{background:linear-gradient(145deg,rgba(239,189,210,.18),rgba(143,203,232,.18))!important;color:#d8effb!important}
.wallet-receipt-card,.modal-card{
    background:linear-gradient(180deg,#5d344d,#3b2233)!important;
    border-color:rgba(191,230,247,.18)!important;
}

/* Loja */
.store-card-actions .store-price-button,.store-play-button{
    border-color:rgba(191,230,247,.28)!important;
}
.store-play-button{
    background:linear-gradient(145deg,rgba(239,189,210,.24),rgba(143,203,232,.20))!important;
    color:#f8fbff!important;
}
.store-play-button:hover{background:linear-gradient(145deg,rgba(239,189,210,.33),rgba(143,203,232,.29))!important}
.store-effect-preview-shell{
    background:radial-gradient(circle at 48% 24%,rgba(239,189,210,.22),transparent 32%),radial-gradient(circle at 80% 74%,rgba(143,203,232,.18),transparent 30%),linear-gradient(180deg,#61364f 0%,#43283a 48%,#2f1a29 100%)!important;
}
.store-effect-preview-header,.store-effect-preview-caption{background:rgba(54,28,45,.58)!important}

/* Modais, toast e estados */
.global-toast{background:rgba(55,29,46,.96)!important;border-color:rgba(191,230,247,.15)!important}
.modal-backdrop{background:rgba(24,11,20,.59)!important}
.wallet-pix-status.pending>span{background:#8fcbe8!important;box-shadow:0 0 12px rgba(143,203,232,.58)!important}

@media(max-width:420px){
    .angellvoicy-logo-mini{width:38px;height:38px;border-radius:12px}
    .angellvoicy-logo-large{width:82px;height:82px;border-radius:22px}
}

/* ===== AngellVoicy: botão Sala sem fundo ===== */
.nav-create .nav-icon{
    width:58px !important;
    height:58px !important;
    margin-top:-31px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
}
.nav-create .nav-icon img{
    width:48px !important;
    height:48px !important;
    object-fit:contain !important;
    display:block;
}

/* ===== AngellVoicy — wordmark PNG /assets/name.png ===== */
.angellvoicy-name-image{
    display:block;
    height:auto;
    object-fit:contain;
    object-position:center;
    flex:0 0 auto;
    filter:drop-shadow(0 3px 8px rgba(74,27,66,.18));
}
.angellvoicy-name-image-large{
    width:min(78vw,360px);
    max-height:118px;
    margin:0 auto 8px;
}
.angellvoicy-name-image-mini{
    width:154px;
    max-width:44vw;
    max-height:50px;
}
.angellvoicy-name-image-home{
    width:184px;
    max-width:48vw;
    max-height:58px;
}
.brand-mini,
.home-brand{
    min-width:0;
}
@media(max-width:420px){
    .angellvoicy-name-image-mini{width:136px;max-width:42vw}
    .angellvoicy-name-image-home{width:164px;max-width:46vw}
    .angellvoicy-name-image-large{width:min(82vw,330px)}
}


/* ===== Payout V2: Host / Reseller ===== */
.reseller-monthly-bonus{margin:14px 0 18px;padding:16px;border:1px solid rgba(240,184,206,.18);border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(239,130,178,.16),transparent 36%),rgba(255,255,255,.028)}
.reseller-bonus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.reseller-bonus-head small,.reseller-bonus-head strong,.reseller-bonus-head span{display:block}.reseller-bonus-head small{color:rgba(255,255,255,.42);font-size:8px;font-weight:900;letter-spacing:1.1px}.reseller-bonus-head strong{margin-top:5px;font-size:20px}.reseller-bonus-head>span{color:#f4bfd3;font-size:8px}.reseller-bonus-track{height:7px;margin:14px 0 11px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.06)}.reseller-bonus-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f6c2d6,#99d6ef)}.reseller-bonus-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.reseller-bonus-targets span{padding:9px 7px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.025);text-align:center}.reseller-bonus-targets span.done{border-color:rgba(78,224,143,.22);background:rgba(78,224,143,.07)}.reseller-bonus-targets b,.reseller-bonus-targets small{display:block}.reseller-bonus-targets b{font-size:9px}.reseller-bonus-targets small{margin-top:3px;color:rgba(255,255,255,.42);font-size:7px}
.reseller-payout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.reseller-payout-grid>div{padding:9px 10px;border:1px solid rgba(255,255,255,.055);border-radius:12px;background:rgba(255,255,255,.022)}.reseller-payout-grid small,.reseller-payout-grid strong{display:block}.reseller-payout-grid small{color:rgba(255,255,255,.38);font-size:7px}.reseller-payout-grid strong{margin-top:3px;font-size:9px}.reseller-pix-box{margin-top:9px;padding:10px 11px;border-radius:13px;background:rgba(143,203,232,.055);border:1px solid rgba(143,203,232,.12)}.reseller-pix-box small,.reseller-pix-box strong,.reseller-pix-box span{display:block}.reseller-pix-box small{color:rgba(255,255,255,.38);font-size:7px}.reseller-pix-box strong{margin-top:4px;word-break:break-all;font-size:10px}.reseller-pix-box span{margin-top:2px;color:rgba(255,255,255,.42);font-size:7px}.reseller-proof-upload{display:grid;gap:9px;margin-top:11px}.reseller-proof-upload label{display:grid;gap:6px}.reseller-proof-upload label>span{color:rgba(255,255,255,.5);font-size:8px}.reseller-proof-upload input{width:100%;padding:10px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025);color:#fff;font-size:9px}.reseller-withdrawal-proof-button{background:linear-gradient(145deg,#9ed8ef,#79b9db)!important;color:#0d1720!important}.reseller-proof-link{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:10px;border:1px solid rgba(143,203,232,.16);border-radius:12px;background:rgba(143,203,232,.07);color:#bfe8fb;font-size:9px;font-weight:900;text-decoration:none}.reseller-withdrawal-alert{margin-bottom:10px;padding:8px 10px;border:1px solid rgba(255,188,95,.18);border-radius:11px;background:rgba(255,188,95,.07);color:#ffd697;font-size:8px;font-weight:800}.reseller-credit-receipt{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding:9px 10px;border-radius:12px;background:rgba(78,224,143,.065);border:1px solid rgba(78,224,143,.14)}.reseller-credit-receipt span{color:rgba(255,255,255,.52);font-size:8px}.reseller-credit-receipt strong{color:#aef0ca;font-size:9px}
.agency-payout-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.agency-payout-summary>div{padding:12px 9px;border:1px solid rgba(255,255,255,.06);border-radius:15px;background:rgba(255,255,255,.025);text-align:center}.agency-payout-summary small,.agency-payout-summary strong{display:block}.agency-payout-summary small{color:rgba(255,255,255,.38);font-size:7px}.agency-payout-summary strong{margin-top:5px;font-size:11px}.agency-payout-form{display:grid;gap:12px;margin-top:13px;padding:15px;border:1px solid rgba(255,255,255,.07);border-radius:20px;background:rgba(255,255,255,.025)}.agency-payout-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.agency-payout-title small,.agency-payout-title strong{display:block}.agency-payout-title small{color:#9ed8ef;font-size:8px;font-weight:900;letter-spacing:1px}.agency-payout-title strong{margin-top:3px;font-size:15px}.agency-payout-title>span{padding:6px 8px;border-radius:99px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.45);font-size:7px}.agency-payout-form label{display:grid;gap:6px}.agency-payout-form label>span{color:rgba(255,255,255,.5);font-size:8px}.agency-payout-form input,.agency-payout-form select{width:100%;min-height:45px;padding:0 12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;outline:none;background:#15111d;color:#fff;font-size:10px}.agency-payout-provider{display:grid;grid-template-columns:1fr 1fr;gap:7px}.agency-payout-provider button{min-height:42px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.48);font-size:9px;font-weight:900}.agency-payout-provider button.active{border-color:rgba(143,203,232,.26);background:rgba(143,203,232,.10);color:#c7ecff}.agency-payout-pix-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8px}.agency-payout-estimate{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.agency-payout-estimate span{padding:9px 8px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.055)}.agency-payout-estimate small,.agency-payout-estimate b,.agency-payout-estimate strong{display:block}.agency-payout-estimate small{color:rgba(255,255,255,.38);font-size:7px}.agency-payout-estimate b,.agency-payout-estimate strong{margin-top:3px;font-size:9px}.agency-payout-estimate strong{color:#bfe8fb}.agency-payout-warning{padding:10px 11px;border-radius:12px;background:rgba(255,188,95,.06);border:1px solid rgba(255,188,95,.12);color:#eecb97;font-size:8px}.agency-payout-history-headline{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:18px 2px 9px}.agency-payout-history-headline small,.agency-payout-history-headline strong{display:block}.agency-payout-history-headline small{color:rgba(255,255,255,.38);font-size:7px}.agency-payout-history-headline strong{margin-top:2px;font-size:14px}.agency-payout-history-headline>span{color:rgba(255,255,255,.38);font-size:7px}.agency-payout-history{display:grid;gap:9px}.agency-payout-history-card{padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:rgba(255,255,255,.025)}.agency-payout-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.agency-payout-history-head small,.agency-payout-history-head strong{display:block}.agency-payout-history-head small{color:rgba(255,255,255,.36);font-size:7px}.agency-payout-history-head strong{margin-top:3px;font-size:15px}.agency-payout-status{padding:5px 8px;border-radius:99px;font-size:7px;font-weight:900;background:rgba(255,255,255,.05)}.agency-payout-status.pending{color:#ffd697;background:rgba(255,188,95,.08)}.agency-payout-status.approved{color:#bfe8fb;background:rgba(143,203,232,.08)}.agency-payout-status.paid{color:#aef0ca;background:rgba(78,224,143,.08)}.agency-payout-status.rejected,.agency-payout-status.cancelled{color:#ffb4c2;background:rgba(255,105,133,.07)}.agency-payout-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.agency-payout-history-grid span{padding:8px;border-radius:11px;background:rgba(255,255,255,.02)}.agency-payout-history-grid small,.agency-payout-history-grid b{display:block}.agency-payout-history-grid small{color:rgba(255,255,255,.34);font-size:7px}.agency-payout-history-grid b{margin-top:2px;font-size:8px}.agency-payout-history-meta{display:flex;justify-content:space-between;gap:8px;margin-top:9px;color:rgba(255,255,255,.42);font-size:7px}.agency-payout-history-meta span:first-child{max-width:60%;overflow:hidden;text-overflow:ellipsis}.agency-payout-proof{display:inline-flex;margin-top:9px;color:#bfe8fb;font-size:8px;font-weight:900;text-decoration:none}.agency-payout-attention{display:block;margin-top:9px;padding:7px 9px;border-radius:10px;background:rgba(255,188,95,.07);color:#ffd697;font-size:8px}.agency-payout-reason{margin:9px 0 0;color:#ffb4c2;font-size:8px}.agency-payout-empty{padding:18px;border:1px dashed rgba(255,255,255,.08);border-radius:14px;color:rgba(255,255,255,.4);font-size:9px;text-align:center}@media(max-width:420px){.reseller-bonus-head,.agency-payout-title,.agency-payout-history-headline{align-items:flex-start;flex-direction:column}.agency-payout-pix-grid{grid-template-columns:1fr}}


/* ===== Wallet withdrawal -> Agency payout V2 ===== */
#wallet-withdraw:not(:disabled){
    cursor:pointer;
}
#wallet-withdraw:not(:disabled) small{
    opacity:.68;
}
#wallet-withdraw:disabled{
    opacity:.62;
}

/* ===== DINASTIA — Bolhas oficiais ===== */

.chat-bubble-demo.sentinela,
.chat-message-bubble.sentinela,
.chat-bubble-demo.nobre,
.chat-message-bubble.nobre,
.chat-bubble-demo.soberano,
.chat-message-bubble.soberano,
.chat-bubble-demo.imperador,
.chat-message-bubble.imperador,
.chat-bubble-demo.supremo,
.chat-message-bubble.supremo{
    position:relative;
    isolation:isolate;
    color:#fff;
    overflow:visible;
}

.chat-bubble-demo.sentinela::before,
.chat-message-bubble.sentinela::before,
.chat-bubble-demo.nobre::before,
.chat-message-bubble.nobre::before,
.chat-bubble-demo.soberano::before,
.chat-message-bubble.soberano::before,
.chat-bubble-demo.imperador::before,
.chat-message-bubble.imperador::before,
.chat-bubble-demo.supremo::before,
.chat-message-bubble.supremo::before{
    content:"";
    position:absolute;
    z-index:0;
    inset:3px;
    border-radius:10px;
    pointer-events:none;
}

/* Sentinela — azul celestial + prata */
.chat-bubble-demo.sentinela,
.chat-message-bubble.sentinela{
    background:linear-gradient(145deg,#318ad1cc,#153c6eea);
    border:1px solid #9aa8bb;
    box-shadow:
        0 5px 14px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.14);
}
.chat-bubble-demo.sentinela::before,
.chat-message-bubble.sentinela::before{
    border:1px solid rgba(154,168,187,.58);
}

/* Nobre — verde esmeralda + dourado */
.chat-bubble-demo.nobre,
.chat-message-bubble.nobre{
    background:linear-gradient(145deg,#157c60d9,#073f34f2);
    border:1px solid #dfc36b;
    box-shadow:
        0 5px 14px rgba(0,0,0,.28),
        inset 0 0 22px rgba(66,224,165,.11);
}
.chat-bubble-demo.nobre::before,
.chat-message-bubble.nobre::before{
    border:1px solid rgba(223,195,107,.58);
}

/* Soberano — roxo imperial + ouro */
.chat-bubble-demo.soberano,
.chat-message-bubble.soberano{
    background:linear-gradient(145deg,#6b37a6e5,#281046f4);
    border:1.5px solid #e4bd4f;
    box-shadow:
        0 6px 16px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.12);
}
.chat-bubble-demo.soberano::before,
.chat-message-bubble.soberano::before{
    border:1px solid rgba(228,189,79,.58);
}

/* Imperador — rosé imperial + champanhe */
.chat-bubble-demo.imperador,
.chat-message-bubble.imperador{
    background:linear-gradient(135deg,#c89aa9d9,#8a6273df 48%,#594150f0);
    border:1px solid #eed6aa;
    box-shadow:
        0 6px 16px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.16);
}
.chat-bubble-demo.imperador::before,
.chat-message-bubble.imperador::before{
    border:1px solid rgba(238,214,170,.58);
}

/* Supremo — vermelho real + ouro */
.chat-bubble-demo.supremo,
.chat-message-bubble.supremo{
    background:linear-gradient(145deg,#ad1736e8,#570716f6);
    border:2px solid #f0c14c;
    box-shadow:
        0 6px 18px rgba(0,0,0,.32),
        0 0 18px rgba(216,17,54,.16),
        inset 0 1px 0 rgba(255,232,169,.30);
}
.chat-bubble-demo.supremo::before,
.chat-message-bubble.supremo::before{
    border:1px solid rgba(255,218,108,.50);
    box-shadow:inset 0 0 18px rgba(255,49,80,.09);
}

.chat-bubble-dynasty-tag{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    height:17px;
    padding:0 6px;
    border-radius:99px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(0,0,0,.15);
    color:#fff;
    font-size:7px;
    font-weight:950;
    letter-spacing:.35px;
}

/* Dinastia é versão limpa: sem coroas VIP */
.chat-message-bubble.sentinela .chat-bubble-crown,
.chat-message-bubble.nobre .chat-bubble-crown,
.chat-message-bubble.soberano .chat-bubble-crown,
.chat-message-bubble.imperador .chat-bubble-crown,
.chat-message-bubble.supremo .chat-bubble-crown,
.chat-bubble-demo.sentinela .chat-bubble-crown,
.chat-bubble-demo.nobre .chat-bubble-crown,
.chat-bubble-demo.soberano .chat-bubble-crown,
.chat-bubble-demo.imperador .chat-bubble-crown,
.chat-bubble-demo.supremo .chat-bubble-crown{
    display:none!important;
}


/* ===== CHAT CLEAN • nome > títulos ===== */

/* Nome: aproximadamente 2x a altura visual dos títulos */
.chat-message .chat-user-name,
.chat-message-bubble .chat-user-name{
    display:block!important;
    max-width:100%;
    font-size:13px!important;
    font-weight:950!important;
    line-height:1.08!important;
    letter-spacing:-.25px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-shadow:0 1px 3px rgba(0,0,0,.42);
}

/* Cabeçalho fica dedicado ao nome */
.chat-message-head,
.chat-bubble-message-head{
    display:flex!important;
    align-items:center!important;
    min-height:22px;
    margin-bottom:5px;
}

/* Apenas títulos no chat, discretos */
.chat-user-titles{
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:5px;
    width:100%;
    margin:1px 0 8px;
}

.chat-user-titles .profile-inline-title-image{
    width:auto!important;
    height:auto!important;
    max-width:76px!important;
    max-height:10px!important;
    flex:0 0 auto!important;
    object-fit:contain;
}

/* Mensagem volta a ter destaque próprio */
.chat-message-text,
.chat-bubble-message-text{
    display:block!important;
    margin-top:6px!important;
    font-size:13px!important;
    line-height:1.35!important;
}

/* Um pouco mais de respiro na bolha */
.chat-message.chat-message-bubble{
    padding:11px 13px 12px!important;
}


/* ===== CHAT • bolha somente na mensagem ===== */

.chat-message > .chat-message-bubble{
    position:relative;
    display:inline-block;
    width:auto;
    max-width:min(82vw,330px);
    margin-top:2px;
    padding:8px 11px 9px;
    border-radius:14px;
    vertical-align:top;
}

.chat-message > .chat-message-bubble .chat-bubble-message-text{
    display:block!important;
    margin:0!important;
    position:relative;
    z-index:1;
}

.chat-message > .chat-bubble-message-head{
    display:flex!important;
    margin-bottom:3px;
}

.chat-message > .chat-user-titles{
    margin:0 0 6px!important;
}


/* ===== CHAT • bolha separada compacta ===== */

.chat-message.chat-message-with-bubble{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:auto!important;
    max-width:86%!important;
    gap:0!important;
    margin:1px 0 5px!important;
}

.chat-message-with-bubble > .chat-bubble-message-head{
    display:block!important;
    width:auto!important;
    margin:0 0 1px!important;
}

.chat-message-with-bubble > .chat-user-titles{
    display:flex!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 0 5px!important;
    justify-content:flex-start!important;
    gap:3px!important;
}

.chat-message-with-bubble > .chat-message-bubble{
    display:inline-block!important;
    position:relative!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:5px 9px 6px!important;
    align-self:flex-start!important;
    white-space:normal!important;
}

.chat-message-with-bubble
.chat-message-bubble
.chat-bubble-message-text{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
}

/* ===== DINASTIA • Banner Home + tela interna ===== */

.dynasty-home-banner{
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
}

.dynasty-home-banner img{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
    pointer-events:none;
    user-select:none;
}

.dynasty-home-banner:active{
    transform:scale(.99);
}

body.dynasty-event-open{
    overflow:hidden!important;
}

.dynasty-event-overlay{
    position:fixed;
    z-index:999999;
    inset:0;
    display:none;
    background:#120b10;
}

.dynasty-event-overlay.is-open{
    display:block;
}

.dynasty-event-shell{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    background:#120b10;
}

.dynasty-event-topbar{
    position:relative;
    flex:0 0 46px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#21131b;
    color:#fff;
}

.dynasty-event-topbar strong{
    font-size:14px;
    font-weight:900;
}

.dynasty-event-close{
    position:absolute;
    right:10px;
    top:50%;
    width:34px;
    height:34px;
    padding:0;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:25px;
    line-height:1;
}

.dynasty-event-frame{
    display:block;
    flex:1 1 auto;
    width:100%;
    min-height:0;
    border:0;
    background:#120b10;
}


/* Video Live integration marker: visual rules live in /css/video-live.css */
.video-live-discovery-page .page-title{letter-spacing:.02em}


/* dynasty-seat-layout-v1
   Dinastia: layout responsivo de 13 a 30 microfones.
   Não modifica o Modo Vídeo nem o Modo Jogos.
*/
#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid.dynasty-seats-expanded {
    display: grid;
    align-content: start;
    justify-content: center;
    min-width: 0;
    gap: 7px 4px;
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid[data-dynasty-seat-columns="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid[data-dynasty-seat-columns="5"] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid[data-dynasty-seat-columns="6"] {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid.dynasty-seats-expanded .room-seat {
    width: 100%;
    min-width: 0;
    padding: 2px 1px;
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid.dynasty-seats-expanded .seat-avatar {
    width: clamp(34px, 9.5vw, 43px);
    height: clamp(34px, 9.5vw, 43px);
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid[data-dynasty-seat-columns="6"] .seat-avatar {
    width: clamp(30px, 8.5vw, 38px);
    height: clamp(30px, 8.5vw, 38px);
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid.dynasty-seats-expanded .room-seat strong {
    max-width: 100%;
    margin-top: 5px;
    font-size: 8px;
    line-height: 1.2;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid.dynasty-seats-expanded .room-seat small {
    font-size: 6px;
    line-height: 1.2;
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid.dynasty-seats-expanded .seat-number {
    width: 13px;
    height: 13px;
    font-size: 6px;
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid.dynasty-seats-expanded .seat-mic-state {
    width: 13px;
    height: 13px;
    right: -2px;
    font-size: 5px;
}

#screen-room:not(.room-video-enabled):not(.gamer-active)
#room-seats-grid.dynasty-seats-expanded
.room-seat.has-equipped-frame strong {
    margin-top: 8px;
}

@media (max-height: 700px) {
    #screen-room:not(.room-video-enabled):not(.gamer-active)
    #room-seats-grid.dynasty-seats-expanded {
        gap: 4px 3px;
    }

    #screen-room:not(.room-video-enabled):not(.gamer-active)
    #room-seats-grid.dynasty-seats-expanded .seat-avatar {
        width: clamp(29px, 8vw, 37px);
        height: clamp(29px, 8vw, 37px);
    }
}


/* Configurações 20261012: layout em linhas inspirado na referência */
#screen-settings.settings-modern-page{background:#f4f2f6;color:#29242d;min-height:100dvh;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
#screen-settings .settings-modern-header{height:74px;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;background:#8231df;color:#fff;padding:0 10px;position:relative}
#screen-settings .settings-modern-header h2{text-align:center;font-size:21px;margin:0;font-weight:750}
#screen-settings .settings-modern-back{font-size:39px;line-height:1;background:none;color:#fff;border:0;min-height:50px}
#screen-settings .settings-modern-content{padding:14px 0 26px}
#screen-settings .settings-modern-group{background:#fff;margin-bottom:12px}
#screen-settings .settings-modern-item{box-sizing:border-box;min-height:68px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 24px;border:0;border-bottom:1px solid #f0edf1;background:transparent;color:#353039;text-align:left;font-size:16px;font-weight:400}
#screen-settings .settings-modern-item:last-child{border-bottom:0}
#screen-settings button.settings-modern-item{cursor:pointer}
#screen-settings .settings-modern-item b{font-size:28px;font-weight:300;color:#bcb6c5}
#screen-settings .settings-modern-label{display:flex;flex-direction:column;gap:6px;min-width:0}
#screen-settings .settings-modern-label small{font-size:12px;color:#88818e;line-height:1.4}
#screen-settings .settings-modern-unavailable{color:#77717d}
#screen-settings .settings-modern-unavailable small{font-size:11px;color:#aaa4b0;white-space:nowrap}
#screen-settings .dynasty-privilege-switch{background:#e5e1ea;width:49px;height:29px;flex-shrink:0}
#screen-settings .dynasty-privilege-switch.is-active{background:#8934e8}
#screen-settings .dynasty-privilege-switch-knob{width:23px;height:23px;top:3px;left:3px}
#screen-settings .dynasty-privilege-switch.is-active .dynasty-privilege-switch-knob{transform:translateX(20px)}
#screen-settings .settings-modern-special-id{padding:10px 24px;font-size:12px;color:#766b80}
#screen-settings .settings-modern-exit{margin-top:14px}
#screen-settings .settings-modern-exit .settings-modern-item{justify-content:center;color:#e75470!important}
#screen-settings .settings-modern-exit .settings-modern-item b{display:none}
@media(max-width:380px){#screen-settings .settings-modern-item{font-size:14px;padding-left:17px;padding-right:17px}#screen-settings .settings-modern-header h2{font-size:19px}}


/* ROOM MORE COMPACT 20261014 */

/* Organização em quatro colunas */
.room-more-sheet.room-more-compact .room-more-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 8px;
    row-gap: 18px;
    align-items: start;
    padding: 8px 0 14px;
}

/* Botões menores e centralizados */
.room-more-sheet.room-more-compact
.room-more-grid .room-more-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: center;
}

/* Ícones circulares */
.room-more-sheet.room-more-compact
.room-more-grid .room-more-action-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    min-width: 54px;
    min-height: 54px;
    margin: 0 auto;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.065);
    border: 1px solid rgba(255, 210, 232, 0.12);
    color: #f9e9f1;
    font-size: 25px;
    line-height: 1;
}

/* Nomes abaixo dos ícones */
.room-more-sheet.room-more-compact
.room-more-grid .room-more-action strong {
    display: block;
    width: 100%;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.3;
    text-align: center;
    overflow-wrap: anywhere;
    color: #f4e9ef;
}

/* Separação da ação de saída */
.room-more-sheet.room-more-compact .room-more-exit-wrap {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 220, 235, 0.10);
}

.room-more-sheet.room-more-compact
.room-more-exit-wrap .room-more-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 0;
    color: #f6a2b8;
    text-align: center;
}

/* Ajustes em telas menores */
@media (max-width: 380px) {
    .room-more-sheet.room-more-compact .room-more-grid {
        column-gap: 5px;
    }

    .room-more-sheet.room-more-compact
    .room-more-grid .room-more-action-icon {
        width: 48px;
        height: 48px;
        min-width: 48px;
        min-height: 48px;
        font-size: 23px;
    }

    .room-more-sheet.room-more-compact
    .room-more-grid .room-more-action strong {
        font-size: 9px;
    }
}


/* FIX ASSENTO WEBP SEM RECORTE */
.room-seat .seat-avatar:has(> img[src*="assent.webp"]) {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.room-seat .seat-avatar > img[src*="assent.webp"] {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    overflow: visible !important;
    clip-path: none !important;
    mask-image: none !important;
}


/* ROOM MORE PNG ICONS 20261015 */
.room-more-sheet .room-more-action-icon:has(> .room-more-png) {
    width: 58px;
    height: 58px;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    padding: 0 !important;
}

.room-more-sheet .room-more-png {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    border: none;
    border-radius: 0;
    background: transparent;
}


/* ANGELL_LUCKY_NOTICE_V2 */
.angell-lucky-popup {
    position:fixed;
    z-index:100000;
    top:50%;
    left:50%;
    width:min(76vw,290px);
    display:flex;
    flex-direction:column;
    align-items:center;
    pointer-events:none;
    animation:angell-lucky-enter var(--duration) ease both;
}

.angell-lucky-photo {
    width:66px;
    height:66px;
    margin-bottom:-9px;
    position:relative;
    z-index:2;
    border:3px solid white;
    border-radius:50%;
    overflow:hidden;
    display:grid;
    place-items:center;
    font-size:30px;
    color:white;
    background:#302536;
    box-shadow:0 4px 15px #0005;
}

.angell-lucky-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.angell-lucky-rectangle {
    width:100%;
    min-height:96px;
    padding:19px 12px 13px;
    border:2px solid #ffffff99;
    border-radius:15px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    color:#fff;
    text-align:center;
    overflow:hidden;
    position:relative;
    box-shadow:0 9px 24px #0006;
}

.angell-lucky-rectangle::after {
    content:"";
    position:absolute;
    top:-20%;
    bottom:-20%;
    width:35%;
    left:-50%;
    transform:skewX(-20deg);
    background:linear-gradient(
        90deg,transparent,#ffffff80,transparent
    );
    animation:angell-lucky-shine 1s linear infinite;
}

.angell-lucky-rectangle span {
    font-size:11px;
    font-weight:900;
    letter-spacing:1px;
    z-index:1;
}

.angell-lucky-rectangle strong {
    font-size:46px;
    font-weight:1000;
    line-height:1.1;
    text-shadow:0 3px 8px #0005;
    z-index:1;
}

.angell-lucky-popup.yellow .angell-lucky-rectangle {
    background:linear-gradient(135deg,#f9d43f,#d79704);
}
.angell-lucky-popup.orange .angell-lucky-rectangle {
    background:linear-gradient(135deg,#ffad36,#ee6319);
}
.angell-lucky-popup.red .angell-lucky-rectangle {
    background:linear-gradient(135deg,#ff5460,#b91031);
}

.angell-lucky-chat {
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:8px 10px;
    margin:5px 0;
    border-left:3px solid;
    border-radius:9px;
    color:white;
    background:#ffffff15;
    font-size:10px;
    line-height:1.45;
    overflow-wrap:anywhere;
}

.angell-lucky-chat strong {
    font-size:9px;
    letter-spacing:.5px;
}

.angell-lucky-chat.yellow {
    border-color:#f6d033;
    background:#f6d03320;
}
.angell-lucky-chat.orange {
    border-color:#ff9028;
    background:#ff902824;
}
.angell-lucky-chat.red {
    border-color:#ff4057;
    background:#ff40572b;
}

@keyframes angell-lucky-enter {
    0% {opacity:0;transform:translate(-50%,-50%) scale(.7)}
    17% {opacity:1;transform:translate(-50%,-50%) scale(1.06)}
    28% {transform:translate(-50%,-50%) scale(1)}
    80% {opacity:1}
    100% {opacity:0;transform:translate(-50%,-50%) scale(.96)}
}

@keyframes angell-lucky-shine {
    from {left:-50%}
    to {left:145%}
}


/* ANGELL_PACKAGE_BADGE_20261019 */
.gift-card-media{
    position:relative;
}
.gift-package-qty{
    position:absolute;
    top:3px;
    right:3px;
    z-index:3;
    min-width:17px;
    height:17px;
    box-sizing:border-box;
    padding:0 5px;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#58317b,#8f53b5);
    color:#fff;
    border:1px solid rgba(255,255,255,.35);
    box-shadow:0 2px 7px rgba(0,0,0,.35);
    font-size:9px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
    pointer-events:none;
}


/* ANGELL_WEBP_BUBBLE_LV1_V1
   Bolha WebP Angel's Wings - adaptação por nove fatias.
   Mantém as bolhas CSS anteriores intactas.
*/
.chat-message-with-bubble
> .chat-message-bubble.chat-bubble-angel-wings,
.chat-bubble-demo.chat-bubble-angel-wings{
    box-sizing:border-box!important;
    background:transparent!important;
    background-image:none!important;
    border:12px solid transparent!important;
    border-image-source:url("/assets/chat/event_lv1.webp")!important;
    border-image-slice:24% fill!important;
    border-image-width:12px!important;
    border-image-outset:0!important;
    border-image-repeat:stretch!important;
    border-radius:0!important;
    box-shadow:none!important;
    min-height:48px;
    color:#ffffff!important;
    position:relative!important;
}

.chat-message-with-bubble
> .chat-message-bubble.chat-bubble-angel-wings{
    padding:0 5px 1px!important;
    min-width:80px!important;
}

.chat-bubble-demo.chat-bubble-angel-wings{
    width:min(100%,260px)!important;
    padding:3px 8px!important;
    min-height:66px;
}

.chat-bubble-angel-wings .chat-bubble-crown{
    display:none!important;
}

.chat-bubble-angel-wings .chat-bubble-message-text,
.chat-bubble-angel-wings .chat-bubble-demo-text,
.chat-bubble-angel-wings .chat-bubble-demo-head strong{
    color:#fff!important;
    text-shadow:0 1px 3px #10213a,0 1px 5px #10213a;
    position:relative;
    z-index:2;
}

.chat-bubble-angel-wings::before,
.chat-bubble-angel-wings::after{
    content:none!important;
}


/* ANGELL_MASTER_IMAGE_BUBBLES_V1 */
.chat-message-with-bubble > .chat-message-bubble.chat-bubble-image,
.chat-bubble-demo.chat-bubble-image{
    position:relative!important;
    box-sizing:border-box!important;
    background:transparent!important;
    background-image:none!important;
    border:12px solid transparent!important;
    border-image-source:var(--angell-bubble-image)!important;
    border-image-slice:24% fill!important;
    border-image-width:12px!important;
    border-image-outset:0!important;
    border-image-repeat:stretch!important;
    border-radius:0!important;
    box-shadow:none!important;
    min-height:48px;
    color:white!important;
}

.chat-message-with-bubble > .chat-message-bubble.chat-bubble-image{
    min-width:80px!important;
    padding:0 5px 1px!important;
}

.chat-bubble-demo.chat-bubble-image{
    width:min(100%,260px)!important;
    min-height:66px;
    padding:3px 8px!important;
}

.chat-bubble-image .chat-bubble-crown{
    display:none!important;
}

.chat-bubble-image .chat-bubble-message-text,
.chat-bubble-image .chat-bubble-demo-text,
.chat-bubble-image .chat-bubble-demo-head strong{
    color:#fff!important;
    text-shadow:0 1px 3px #10213a,0 1px 5px #10213a;
    position:relative;
    z-index:2;
}

.chat-bubble-image::before,
.chat-bubble-image::after{
    content:none!important;
}

/* MASTER frame proportions: preserve existing base dimensions and avatar photo */
.equipped-avatar-frame,
.room-seat .seat-equipped-frame {
    transform: translate(calc(-50% + var(--av-frame-x, 0px)), calc(-50% + var(--av-frame-y, 0px))) scale(var(--av-frame-scale, 1)) !important;
}


/* ANGELL_BUBBLE_SLICE_45_10_45_V1
   Somente bolhas PNG/JPG nas mensagens.
   Preserva 45% superior e inferior da imagem-fonte.
   Repete a faixa central vertical.
   Mantém divisão horizontal de 24%.
*/
.chat-message-with-bubble
> .chat-message-bubble.chat-bubble-image.chat-bubble-slice-45 {
    box-sizing: border-box !important;

    border-style: solid !important;
    border-color: transparent !important;
    border-width: 18px 12px !important;

    border-image-source: var(--angell-bubble-image) !important;
    border-image-slice: 45% 24% 45% 24% fill !important;
    border-image-width: 18px 12px 18px 12px !important;
    border-image-outset: 0 !important;
    border-image-repeat: stretch repeat !important;

    min-height: 56px !important;
    padding: 0 5px 1px !important;
    border-radius: 0 !important;
}


/* ANGELL_BUBBLE_WEBP_PROPORTION_V2
   Imagem de referência: 1024 x 341.
   Protege os cantos e permite expansão central.
   Não altera Angel Wings nem as bolhas CSS VIP.
*/
.chat-message-with-bubble
> .chat-message-bubble.chat-bubble-image:not(.chat-bubble-angel-wings) {
    box-sizing: border-box !important;

    width: max-content !important;
    min-width: 185px !important;
    max-width: min(76vw, 285px) !important;
    min-height: 88px !important;

    border: 28px solid transparent !important;
    border-width: 28px 30px !important;

    border-image-source: var(--angell-bubble-image) !important;
    border-image-slice: 37% 13% 37% 13% fill !important;
    border-image-width: 28px 30px 28px 30px !important;
    border-image-outset: 0 !important;
    border-image-repeat: stretch stretch !important;

    padding: 3px 8px !important;
    background: transparent !important;
    background-image: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.chat-message-with-bubble
> .chat-message-bubble.chat-bubble-image:not(.chat-bubble-angel-wings)
.chat-bubble-message-text {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* ANGELL_ELITE_SEAT_V1_20261026: assento 1 personalizado, sem recorte */
.room-seat.seat-owner-custom .seat-avatar:has(> .seat-empty-image){
    border:0!important;border-radius:0!important;background:transparent!important;
    box-shadow:none!important;overflow:visible!important;
}
.room-seat.seat-owner-custom .seat-avatar>.seat-empty-image{
    width:100%!important;height:100%!important;object-fit:contain!important;
    border-radius:0!important;overflow:visible!important;
    clip-path:none!important;mask-image:none!important;
}


/* SEAT_MODE_V1: layouts fixos, sem ampliar avatares ou interferir na grade padrão */
#room-seats-grid[data-seat-mode]:not([data-seat-mode="standard"]){position:relative!important;display:block!important;width:100%;height:270px;max-width:480px;margin:0 auto!important;overflow:visible!important}
#room-seats-grid[data-seat-mode]:not([data-seat-mode="standard"])>.room-seat{position:absolute!important;width:18%!important;max-width:78px;transform:translate(-50%,-50%);margin:0!important;box-sizing:border-box}
#room-seats-grid[data-seat-mode="circulo"],#room-seats-grid[data-seat-mode="dynastia_conselho"]{height:310px!important}
#room-seats-grid[data-seat-mode]:not([data-seat-mode="standard"]) .seat-avatar{width:min(48px,12vw)!important;height:min(48px,12vw)!important}
#room-seats-grid[data-seat-mode]:not([data-seat-mode="standard"]) .room-seat strong{font-size:9px!important}
#room-seats-grid[data-seat-mode]:not([data-seat-mode="standard"]) .room-seat small{font-size:7px!important}
.room-seat.seat-mode-textured .seat-avatar{background-image:var(--seat-mode-texture)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}
.room-seat.seat-mode-textured .seat-avatar>.seat-avatar-photo{width:76%!important;height:76%!important;object-fit:cover!important;border-radius:50%!important;position:relative;z-index:1}
.seat-mode-sheet{display:grid;gap:12px;padding:6px 0}.seat-mode-options{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 12px;scrollbar-width:thin}.seat-mode-option{flex:0 0 114px;min-height:86px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:#221a2c;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;scroll-snap-align:start;padding:8px}.seat-mode-option strong{font-size:10px}.seat-mode-option span{font-size:20px;color:#e5bd72}.seat-mode-option small{font-size:8px;color:#e5bd72}.seat-mode-option.selected{border:2px solid #f2b860;background:#36253a}.seat-mode-option:disabled{opacity:.45}.seat-mode-description{font-size:11px;color:#c9bfd0;margin:0}.seat-mode-preview{position:relative;height:255px;max-width:420px;margin:0 auto;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(145deg,#1b2338,#15111f)}.seat-mode-dot{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#334862;border:1px solid #8197b3;display:grid;place-items:center;color:white;font-size:11px}.seat-mode-dot.host{background:#795b29;border-color:#e5c16f;color:#ffeba4}.seat-mode-dot.elite{background:#593f83;border-color:#b89ce6}.seat-mode-standard{padding:65px 10px;text-align:center;color:#ddd}.seat-mode-sheet>small{font-size:10px;color:#aaa}.seat-mode-sheet .room-primary-button:disabled{opacity:.5}

#room-seats-grid[data-seat-mode="circulo"],#room-seats-grid[data-seat-mode="dynastia_conselho"]{width:min(100%,310px)!important;height:auto!important;aspect-ratio:1/1!important}
.seat-mode-preview[data-layout="circulo"],.seat-mode-preview[data-layout="dynastia_conselho"]{width:min(100%,255px);height:255px}

/* SEAT_MODE_V3_GRID_SQUARE_20261027 */
.seat-mode-sheet .seat-mode-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  padding:0!important;
  width:100%!important;
}
.seat-mode-sheet .seat-mode-options .seat-mode-option{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:74px!important;
  padding:7px 3px!important;
  flex:none!important;
  scroll-snap-align:none!important;
  overflow-wrap:anywhere;
}
.seat-mode-sheet .seat-mode-options .seat-mode-option strong{
  font-size:10px!important;
  line-height:1.2!important;
  text-align:center!important;
}
.seat-mode-sheet .seat-mode-standard-choice .seat-mode-option{
  width:100%!important;
  min-height:42px!important;
  flex-direction:row!important;
  justify-content:center!important;
}
.seat-mode-sheet .seat-mode-standard-choice .seat-mode-option span{
  font-size:15px!important;
}
