*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',Tahoma,sans-serif;-webkit-tap-highlight-color:transparent}
body{background:#0D1B2E;color:#fff;height:100vh;overflow:hidden;user-select:none}
.screen{display:none;width:100%;height:100vh;position:absolute;top:0;left:0;flex-direction:column;overflow:hidden}
.screen.active{display:flex}
a{cursor:pointer;color:#F0A500}

/* Splash */
.splash-full{background:linear-gradient(160deg,#0A1628,#0D1B2E 50%,#112240);width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.logo-wrap{margin-bottom:30px;text-align:center}
.logo-frame{border:2.5px solid #F0A500;border-radius:50% 50% 40% 40%;padding:22px 32px;display:inline-block}
.logo-frame::before{content:'◆';display:block;color:#F0A500;text-align:center;margin-bottom:4px;font-size:12px}
.logo-ar{display:block;font-size:2.8rem;color:#F5C842;font-weight:bold;text-shadow:0 0 30px rgba(240,165,0,0.4)}
.logo-sub{display:block;font-size:0.85rem;color:#F0A500;margin-top:6px}
.logo-frame-sm{border:2px solid #F0A500;border-radius:50% 50% 40% 40%;padding:14px 22px;display:inline-block;margin-bottom:10px}
.logo-ar-sm{font-size:1.8rem;color:#F5C842;font-weight:bold}

/* Auth */
.auth-card{background:rgba(255,255,255,0.06);border:1px solid rgba(240,165,0,0.25);border-radius:20px;padding:26px;width:100%;max-width:380px;backdrop-filter:blur(8px)}
.auth-title{text-align:center;color:#F5C842;margin-bottom:18px;font-size:1.2rem;font-weight:500}
.auth-input{width:100%;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);border-radius:22px;padding:11px 16px;color:#fff;margin-bottom:10px;font-size:0.9rem;outline:none;text-align:right;display:block}
.auth-input:focus{border-color:#F0A500}
.auth-switch{text-align:center;color:rgba(255,255,255,0.5);font-size:0.82rem;margin-top:8px}
.btn-gold{width:100%;background:linear-gradient(135deg,#F5C842,#E07800);color:#1a1000;border:none;border-radius:22px;padding:12px;font-size:0.95rem;font-weight:bold;cursor:pointer;margin-bottom:8px;transition:.2s}
.btn-gold:hover{opacity:.9}
.btn-gold:disabled{opacity:.5;cursor:default}
.btn-outline-gold{width:100%;background:transparent;border:1.5px solid #F0A500;color:#F0A500;border-radius:22px;padding:11px;font-size:0.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px;transition:.2s}
.btn-outline-gold:hover{background:rgba(240,165,0,0.08)}

/* Top Bar */
.top-bar{background:linear-gradient(135deg,#F5C842,#F0A500 60%,#E07800);flex-shrink:0}
.top-bar-inner{display:flex;align-items:center;padding:12px 16px;gap:10px}
.app-name{flex:1;font-size:1.1rem;font-weight:bold;color:#fff;text-align:center}
.avatar-btn{background:transparent;border:none;cursor:pointer}
.top-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.25);border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;font-weight:bold;overflow:hidden}
.top-avatar img{width:100%;height:100%;object-fit:cover}
.icon-btn-top{background:transparent;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:4px 6px}
.top-actions{display:flex;gap:4px}

/* Tabs */
.main-tabs{display:flex;background:rgba(0,0,0,0.12)}
.mtab{flex:1;background:transparent;border:none;color:rgba(255,255,255,0.7);padding:10px 4px;font-size:0.78rem;cursor:pointer;border-bottom:2.5px solid transparent;transition:.15s;white-space:nowrap}
.mtab.active{color:#fff;border-bottom-color:#fff;font-weight:600}
.tab-pane{flex:1;overflow-y:auto;background:#f5f5f5}
.hidden-pane{display:none}
.active-pane{display:flex;flex-direction:column}

/* FAB */
.fab{position:fixed;bottom:24px;left:20px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#F5C842,#E07800);border:none;font-size:1.3rem;cursor:pointer;box-shadow:0 4px 16px rgba(240,165,0,0.4);z-index:10}

/* Drop Menu */
.drop-menu{position:absolute;top:56px;left:10px;background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,0.15);z-index:100;min-width:160px;overflow:hidden}
.drop-menu button{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:right;cursor:pointer;font-size:0.9rem;color:#333;border-bottom:1px solid #f0f0f0}
.drop-menu button:hover{background:#f9f9f9}
.hidden{display:none!important}

/* Chat List Items */
.chat-item{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #eee;cursor:pointer;background:#fff;gap:12px;transition:.1s}
.chat-item:hover{background:#f9f9f9}
.ci-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#F5C842,#E07800);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;font-weight:bold;flex-shrink:0;overflow:hidden;position:relative}
.ci-avatar img{width:100%;height:100%;object-fit:cover}
.online-dot{position:absolute;bottom:2px;right:2px;width:10px;height:10px;border-radius:50%;background:#38a169;border:2px solid #fff}
.ci-body{flex:1;min-width:0;text-align:right}
.ci-name{font-size:0.92rem;font-weight:600;color:#1a1a1a;margin-bottom:2px}
.ci-msg{font-size:0.78rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex-shrink:0}
.ci-time{font-size:0.7rem;color:#bbb}
.ci-badge{background:#F0A500;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:0.65rem;font-weight:bold}

/* Chat Screen */
.chat-topbar{background:linear-gradient(135deg,#F5C842,#E07800);display:flex;align-items:center;padding:10px 12px;gap:10px;flex-shrink:0}
.back-btn{background:transparent;border:none;color:#fff;font-size:1.3rem;cursor:pointer;padding:4px}
.chat-peer-info{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer}
.chat-peer-avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.3);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;overflow:hidden;flex-shrink:0}
.chat-peer-avatar img{width:100%;height:100%;object-fit:cover}
.peer-name{font-size:0.95rem;font-weight:bold;color:#fff}
.peer-status{font-size:0.72rem;color:rgba(255,255,255,0.85)}
.chat-top-actions{display:flex;gap:4px}

/* Messages */
.msgs-area{flex:1;overflow-y:auto;padding:12px;background:#ece5dd;display:flex;flex-direction:column;gap:6px}
.msg-wrap{display:flex;flex-direction:column;max-width:78%}
.msg-wrap.mine{align-self:flex-end;align-items:flex-end}
.msg-wrap.theirs{align-self:flex-start;align-items:flex-start}
.msg-bubble{padding:8px 12px;border-radius:18px;font-size:0.88rem;line-height:1.45;word-break:break-word;position:relative}
.mine .msg-bubble{background:linear-gradient(135deg,#F5C842,#E07800);color:#1a1000;border-bottom-right-radius:4px}
.theirs .msg-bubble{background:#fff;color:#1a1a1a;border-bottom-left-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,0.08)}
.msg-meta{display:flex;align-items:center;gap:4px;margin-top:2px;padding:0 4px}
.msg-time{font-size:0.65rem;color:rgba(0,0,0,0.4)}
.msg-ticks{font-size:0.7rem}
.msg-name-tag{font-size:0.7rem;color:#F0A500;margin-bottom:2px;padding:0 4px}
.reply-preview{background:rgba(0,0,0,0.08);border-right:3px solid #F0A500;padding:4px 8px;border-radius:6px;margin-bottom:4px;font-size:0.75rem;color:rgba(0,0,0,0.6)}
.reactions-row{display:flex;gap:4px;margin-top:2px}
.reaction-chip{background:#fff;border-radius:12px;padding:2px 6px;font-size:0.75rem;box-shadow:0 1px 3px rgba(0,0,0,0.1);cursor:pointer}
.msg-img{max-width:200px;border-radius:12px;cursor:pointer;display:block}
.msg-video{max-width:220px;border-radius:12px;outline:none}
.msg-audio{width:180px;outline:none}
.msg-file{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,0.06);border-radius:8px;padding:6px 10px}

/* Typing */
.typing-bar{padding:6px 16px;background:#ece5dd;font-size:0.78rem;color:#666;flex-shrink:0}

/* Message input */
.msg-bar{display:flex;align-items:center;padding:8px 10px;background:#fff;gap:6px;flex-shrink:0;border-top:1px solid #eee}
.msg-bar input{flex:1;background:#f0f0f0;border:none;border-radius:20px;padding:9px 14px;font-size:0.9rem;outline:none;text-align:right}
.attach-btn,.emoji-btn{background:transparent;border:none;font-size:1.2rem;cursor:pointer;flex-shrink:0}
.send-fab{background:linear-gradient(135deg,#F5C842,#E07800);border:none;border-radius:50%;width:38px;height:38px;color:#1a1000;font-size:1rem;cursor:pointer;flex-shrink:0}
.mic-fab{background:linear-gradient(135deg,#38a169,#276749)}

/* Attach & Emoji menus */
.attach-menu{position:absolute;bottom:60px;right:10px;background:#fff;border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,0.15);padding:8px;display:flex;flex-direction:column;gap:4px;z-index:50}
.attach-menu button{background:none;border:none;padding:10px 16px;text-align:right;cursor:pointer;font-size:0.9rem;border-radius:8px}
.attach-menu button:hover{background:#f5f5f5}
.emoji-picker{position:absolute;bottom:60px;left:10px;background:#fff;border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,0.15);padding:10px;display:flex;flex-wrap:wrap;gap:6px;width:220px;z-index:50}
.emoji-picker span{font-size:1.4rem;cursor:pointer;border-radius:6px;padding:3px}
.emoji-picker span:hover{background:#f0f0f0}

/* Reply bar */
.reply-bar{display:flex;align-items:center;padding:8px 12px;background:#e8e0d0;border-top:1px solid #ddd;gap:8px;flex-shrink:0}
.reply-content{flex:1;font-size:0.8rem;color:#555}
.reply-label{color:#F0A500;font-weight:600;margin-left:6px}
.reply-bar button{background:transparent;border:none;color:#888;cursor:pointer;font-size:1rem}

/* Context menu */
.context-menu{position:absolute;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.15);padding:6px;z-index:200;min-width:140px}
.context-menu button{display:block;width:100%;background:none;border:none;padding:10px 14px;text-align:right;cursor:pointer;font-size:0.85rem;border-radius:8px}
.context-menu button:hover{background:#f5f5f5}

/* Status */
.status-header{padding:12px 16px;background:#fff;border-bottom:1px solid #eee}
.my-status-btn{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;width:100%}
.status-add-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#F5C842,#E07800);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0}
.status-name{font-size:0.92rem;font-weight:600;color:#1a1a1a;text-align:right}
.status-time{font-size:0.75rem;color:#888;text-align:right}
.status-item{display:flex;align-items:center;padding:12px 16px;gap:12px;border-bottom:1px solid #eee;background:#fff;cursor:pointer}
.status-ring{width:50px;height:50px;border-radius:50%;padding:2px;background:linear-gradient(135deg,#F5C842,#E07800);flex-shrink:0}
.status-ring img,.status-ring div{width:100%;height:100%;border-radius:50%;border:2px solid #fff;background:#ddd;object-fit:cover}
.status-creator{padding:20px;display:flex;flex-direction:column;gap:12px}
.status-textarea{width:100%;height:120px;border-radius:12px;border:1px solid #ddd;padding:12px;font-size:1rem;resize:none;outline:none;text-align:right}
.status-colors{display:flex;gap:10px}
.sc{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent}
.sc:hover{border-color:#333}

/* Calls list */
.call-log-item{display:flex;align-items:center;padding:12px 16px;gap:12px;border-bottom:1px solid #eee;background:#fff}
.call-log-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#F5C842,#E07800);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;flex-shrink:0}
.call-log-info{flex:1;text-align:right}
.call-log-name{font-size:0.9rem;font-weight:600;color:#1a1a1a}
.call-log-detail{font-size:0.75rem;color:#888}
.call-log-action button{background:none;border:none;font-size:1.3rem;cursor:pointer}

/* Groups */
.create-group-btn{margin:12px 16px;background:linear-gradient(135deg,#F5C842,#E07800);color:#1a1000;border:none;border-radius:20px;padding:12px;font-size:0.9rem;font-weight:bold;cursor:pointer;width:calc(100% - 32px)}
.create-group-body{padding:20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.members-label{font-size:0.85rem;color:#666;margin-top:4px}
.member-pick{display:flex;align-items:center;padding:10px;border:1px solid #eee;border-radius:10px;gap:10px;cursor:pointer;background:#fff}
.member-pick.selected{border-color:#F0A500;background:rgba(240,165,0,0.05)}
.member-pick-check{width:20px;height:20px;border-radius:50%;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:0.8rem;flex-shrink:0}
.member-pick.selected .member-pick-check{background:#F0A500;border-color:#F0A500;color:#fff}

/* Call Screen */
.call-bg{background:linear-gradient(160deg,#0A1628,#112240);width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:50px 20px 40px;position:relative}
.remote-vid{width:100%;height:55%;background:#0a0a1a;border-radius:16px;overflow:hidden;position:relative}
.local-vid{position:absolute;top:60px;left:16px;width:90px;height:130px;background:#1a1a2e;border-radius:12px;border:2px solid #F0A500;overflow:hidden;z-index:10}
.call-overlay{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.call-peer-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#F5C842,#E07800);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;border:3px solid rgba(255,255,255,0.2);overflow:hidden}
.call-peer-name{font-size:1.3rem;font-weight:bold;color:#fff}
.call-timer{font-size:1rem;color:#F0A500;margin-top:6px;font-variant-numeric:tabular-nums}
.call-status-txt{font-size:0.82rem;color:rgba(255,255,255,0.7);margin-top:4px}
.call-countdown{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);background:rgba(229,62,62,0.9);border-radius:12px;padding:12px 20px;text-align:center;min-width:200px}
.countdown-txt{color:#fff;font-size:0.85rem;margin-bottom:8px}
.call-ctrl{display:flex;gap:16px;align-items:center;z-index:10}
.ctrl-circle{width:54px;height:54px;border-radius:50%;border:none;font-size:1.3rem;cursor:pointer;background:rgba(255,255,255,0.15);transition:.2s}
.ctrl-circle:hover{background:rgba(255,255,255,0.25)}
.end-circle{background:#e53e3e!important;width:62px;height:62px;font-size:1.5rem}
.reconnect-btn{position:absolute;bottom:160px;left:50%;transform:translateX(-50%)}

/* Incoming Call */
.incoming-screen{background:rgba(0,0,0,0.85)!important;align-items:center;justify-content:center;z-index:500}
.incoming-card{background:linear-gradient(160deg,#112240,#0D1B2E);border:1px solid #F0A500;border-radius:24px;padding:32px 24px;text-align:center;width:290px}
.incoming-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#F5C842,#E07800);margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff}
.incoming-name{font-size:1.1rem;font-weight:bold;color:#fff;margin-bottom:4px}
.incoming-type{font-size:0.85rem;color:#F0A500;margin-bottom:6px}
.incoming-ring{font-size:0.8rem;color:rgba(255,255,255,0.6);margin-bottom:20px}
.incoming-btns{display:flex;justify-content:center;gap:24px;margin-bottom:8px}
.accept-btn{width:58px;height:58px;border-radius:50%;background:#38a169;border:none;font-size:1.5rem;cursor:pointer;color:#fff}
.reject-btn{width:58px;height:58px;border-radius:50%;background:#e53e3e;border:none;font-size:1.5rem;cursor:pointer;color:#fff}
.incoming-labels{display:flex;justify-content:center;gap:40px;font-size:0.75rem;color:rgba(255,255,255,0.5)}

/* Profile */
.screen-header{background:linear-gradient(135deg,#F5C842,#E07800);display:flex;align-items:center;padding:14px 16px;gap:12px;flex-shrink:0}
.screen-header span{font-size:1rem;font-weight:bold;color:#fff}
.profile-body{flex:1;overflow-y:auto;padding:20px;background:#f5f5f5;display:flex;flex-direction:column;align-items:center;gap:16px}
.profile-avatar-wrap{text-align:center}
.profile-avatar{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#F5C842,#E07800);margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:#fff;overflow:hidden}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.change-photo-btn{background:none;border:1px solid #F0A500;color:#F0A500;border-radius:16px;padding:6px 14px;cursor:pointer;font-size:0.8rem}
.profile-info{width:100%;background:#fff;border-radius:14px;overflow:hidden}
.info-row{padding:12px 16px;border-bottom:1px solid #f0f0f0}
.info-row label{display:block;font-size:0.72rem;color:#888;margin-bottom:4px}
.info-input{width:100%;border:none;outline:none;font-size:0.9rem;color:#1a1a1a;background:transparent;text-align:right}

/* Settings */
.settings-list{flex:1;background:#f5f5f5;overflow-y:auto}
.settings-item{padding:16px 20px;background:#fff;border-bottom:1px solid #eee;cursor:pointer;font-size:0.92rem;color:#1a1a1a}
.settings-item:hover{background:#f9f9f9}

/* Plans */
.plans-body{flex:1;overflow-y:auto;padding:16px;background:#f0f0f0;display:flex;flex-direction:column;gap:14px}
.plan-card{background:#fff;border-radius:16px;padding:20px;position:relative;border:1.5px solid #eee}
.plan-card.premium{border-color:#F0A500;box-shadow:0 4px 16px rgba(240,165,0,0.15)}
.plan-card.sponsor{border-color:#805ad5}
.plan-badge{position:absolute;top:-10px;right:16px;background:#F0A500;color:#1a1000;font-size:0.72rem;font-weight:bold;padding:3px 10px;border-radius:10px}
.plan-name{font-size:1rem;font-weight:bold;color:#1a1a1a;margin-bottom:6px}
.plan-price{font-size:1.6rem;font-weight:bold;color:#F0A500;margin-bottom:12px}
.plan-price span{font-size:0.8rem;color:#888}
.plan-features{list-style:none;margin-bottom:16px}
.plan-features li{font-size:0.82rem;color:#555;padding:3px 0}
.sponsor-input{display:flex;flex-direction:column;gap:8px}

/* Sponsor Dashboard */
.sponsor-body{flex:1;overflow-y:auto;padding:16px;background:#f5f5f5}
.sponsor-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.stat-card{background:#fff;border-radius:12px;padding:14px;text-align:center}
.stat-num{font-size:1.6rem;font-weight:bold;color:#F0A500}
.stat-label{font-size:0.72rem;color:#888;margin-top:2px}
.invite-section,.direct-add{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px}
.invite-label{font-size:0.82rem;color:#888;margin-bottom:8px}
.invite-link-row{display:flex;gap:8px}
.invite-link-row input{flex:1}
.beneficiaries-list{background:#fff;border-radius:12px;overflow:hidden}

/* Toast */
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.8);color:#fff;padding:10px 20px;border-radius:20px;font-size:0.85rem;z-index:1000;white-space:nowrap}

/* Scrollbar */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-thumb{background:#F0A500;border-radius:2px}
::-webkit-scrollbar-track{background:transparent}

/* New chat search */
.search-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;z-index:200;display:flex;flex-direction:column}
.search-top{display:flex;align-items:center;padding:12px;background:linear-gradient(135deg,#F5C842,#E07800);gap:10px}
.search-top input{flex:1;background:rgba(255,255,255,0.25);border:none;border-radius:20px;padding:8px 14px;color:#fff;font-size:0.9rem;outline:none}
.search-top input::placeholder{color:rgba(255,255,255,0.7)}
.search-results{flex:1;overflow-y:auto}
