:root {
  --bg: #080b12 !important;
  --surface: #111722 !important;
  --surface-2: #161e2b !important;
  --accent: #f4ce55 !important;
  --accent-line: rgba(244,206,85,.55) !important;
  --r-sm: 13px !important;
  --r-md: 18px !important;
  --r-lg: 24px !important;
  --max-content: 680px !important;
}
html,body { width:100%;height:100%;margin:0;overflow:hidden!important;overscroll-behavior:none; }
#root,.app,.app__shell { position:fixed;left:0;top:var(--ff-screen-top,0);width:var(--ff-screen-width,100vw)!important;height:var(--ff-screen-height,100dvh)!important;min-width:0!important;min-height:0!important;max-width:100vw;overflow:hidden!important; }
.screen { width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%;max-height:100%;overflow-x:hidden!important; }
.screen>.header { flex:0 0 auto; }
.screen>.chat { flex:1 1 auto; min-height:0; }
.screen:has(.chat)>:last-child { flex:0 0 auto; min-width:0; }
body { background: radial-gradient(circle at 50% -10%, #1b2538 0, #080b12 42%) !important; }
.app__shell { background: rgba(8,11,18,.72); box-shadow: 0 0 80px #0008; }
.header { height: calc(62px + env(safe-area-inset-top)) !important; background: rgba(8,11,18,.78) !important; border-bottom-color: #ffffff12 !important; }
.header__title { font-size: 19px !important; letter-spacing: -.45px !important; }
.header__logo { width:36px !important; height:36px !important; object-fit:contain; border-radius:11px !important; }
.ff-header-call { width:44px; height:44px; padding:0; display:grid; place-items:center; border:1px solid #f4ce5540; border-radius:14px; background:#f4ce5512; color:#f4ce55; }
.ff-header-call:active { transform:scale(.95); background:#f4ce5524; }
.ff-header-call svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.row { margin: 8px 12px; border: 1px solid #ffffff12 !important; border-radius: 18px; background: linear-gradient(145deg,#ffffff0d,#ffffff05) !important; min-height: 76px !important; }
.row:active { transform: scale(.985); background: #ffffff12 !important; }
.avatar { border-radius: 15px !important; background: linear-gradient(145deg,#2b3547,#171e2a) !important; box-shadow: inset 0 1px #ffffff14; }
.avatar img,.ff-call-avatar img { width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block; }
.chat { width:100%; min-width:0; padding:10px 14px 26px !important; gap:0 !important; overflow-x:hidden !important; background-image:radial-gradient(circle at 25% 0,#f4ce550c,transparent 34%),linear-gradient(#ffffff025 1px,transparent 1px),linear-gradient(90deg,#ffffff025 1px,transparent 1px) !important; background-size:auto,32px 32px,32px 32px !important; }
.bubble,.bubble--mine { position:relative; width:100% !important; min-width:0; max-width:100% !important; margin:0 !important; padding:14px 4px 18px 62px !important; border:0 !important; border-bottom:1px solid #ffffff0b !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; overflow:visible; }
.bubble:active { background:linear-gradient(90deg,#ffffff08,transparent) !important; }
.bubble__meta { justify-content:flex-start !important; gap:9px !important; margin:0 0 5px !important; }
.bubble__name { color:var(--ff-author-color,#f4ce55) !important; font-size:15px !important; font-weight:750 !important; letter-spacing:-.1px; }
.bubble__time { color:#8490a2 !important; font-size:12px !important; }
.ff-message-avatar { position:absolute; left:4px; top:13px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:14px; font-weight:800; background:var(--ff-avatar-bg,#27334a); border:1px solid #ffffff18; box-shadow:0 5px 18px #0004; overflow:hidden; }
.ff-message-avatar img { width:100%; height:100%; object-fit:cover; }
.bubble .msg-text { color:#edf1f7; }
.bubble--mine .msg-text { color:#fff6d6; }
.reactions { margin-top:9px !important; gap:6px !important; }
.reaction { min-height:30px; padding:4px 10px !important; background:#202735 !important; border-color:#ffffff12 !important; }
.composer { flex:0 0 auto; background: rgba(12,16,25,.9) !important; padding-bottom:max(12px,env(safe-area-inset-bottom)) !important; }
.composer__row { width:100%; min-width:0; grid-template-columns:40px 40px 40px minmax(0,1fr) 52px !important; gap:7px !important; }
.composer__row>* { min-width:0; }
.composer .icon-btn { width:40px !important; height:48px !important; }
.composer__input { width:100%; min-width:0 !important; max-width:100%; font-size:16px!important; }
.composer__input,.input { background: #ffffff0b !important; border-color: #ffffff16 !important; }
.btn { border-radius: 14px !important; }
.btn--primary { box-shadow: 0 8px 24px #f4ce5525; }
.screen:has(#u) { padding: max(34px,env(safe-area-inset-top)) 18px 28px !important; justify-content:center; background:radial-gradient(circle at 50% 10%,#27344b80,transparent 42%); }
.screen:has(#u)>div:first-child { padding-top:0 !important; text-align:center; }
.screen:has(#u)>div:first-child::before { content:""; display:block; width:92px; height:92px; margin:0 auto 18px; border-radius:27px; background:#111722 url('/logo.png') center/86% no-repeat; box-shadow:0 18px 50px #f4ce552c; }
.screen:has(#u) .t-xl { font-size:29px !important; letter-spacing:-.7px !important; }
.screen:has(#u)>div:nth-child(2) { margin-top:28px !important; padding:20px; border:1px solid #ffffff14; border-radius:24px; background:linear-gradient(145deg,#ffffff10,#ffffff06); box-shadow:0 24px 70px #0005; }
.screen:has(#u) label { display:block; margin:0 0 8px; font-weight:650; color:#c6cedb; }
#u,#p { display:block; width:100%; height:52px; margin:0; font-size:16px; }
.screen:has(#u) .btn--primary { height:52px !important; margin-top:18px !important; font-size:16px; }
.msg-media { display:block; width:auto !important; max-width:100% !important; height:auto !important; min-height:0 !important; max-height:52vh !important; aspect-ratio:auto !important; object-fit:contain !important; margin-inline:auto; background:#080b12 !important; }
.msg-attachment { max-width:100%; overflow:hidden; }
.msg-text { font-size:16px; line-height:1.46; }
.ff-reaction-quick { display:flex; gap:7px; padding:12px 14px; border-bottom:1px solid #ffffff12; overflow-x:auto; }
.ff-reaction-quick button { flex:0 0 43px; width:43px; height:43px; border:1px solid #ffffff18; border-radius:14px; background:#ffffff0b; font-size:21px; }
@media (max-width:360px) { .composer__row { grid-template-columns:38px 38px minmax(0,1fr) 48px !important; } .composer__row>:nth-child(3){display:none !important;} .bubble,.bubble--mine{padding-left:54px !important;} .ff-message-avatar{width:38px;height:38px;} }
#ff-ticket-app { position:fixed; inset:0; z-index:89000; color:#f5f7fb; background:radial-gradient(circle at 50% -10%,#253249,#080b12 45%); font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.ff-ticket-head { height:calc(66px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) 14px 0; display:grid; grid-template-columns:46px 1fr 46px; gap:10px; align-items:center; border-bottom:1px solid #ffffff12; background:#080b12cf; backdrop-filter:blur(20px); }
.ff-ticket-back,.ff-ticket-add { width:44px;height:44px;border:1px solid #ffffff12;border-radius:14px;background:#ffffff0b;color:#fff;font-size:25px; }
.ff-ticket-add { color:#17130a;background:#f4ce55;border-color:#f4ce55;font-weight:700; }
.ff-ticket-title { font-size:19px;font-weight:800;letter-spacing:-.3px; }.ff-ticket-sub { margin-top:2px;color:#96a2b4;font-size:12px; }
.ff-ticket-body { height:calc(100dvh - 66px - env(safe-area-inset-top)); overflow:auto; padding:14px 14px calc(24px + env(safe-area-inset-bottom)); }
.ff-ticket-card { width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) 24px;gap:12px;align-items:center;text-align:left;padding:14px;margin-bottom:9px;border:1px solid #ffffff12;border-radius:18px;background:linear-gradient(145deg,#ffffff10,#ffffff06);color:#fff; }
.ff-ticket-card.is-new { border-color:#f4ce5550;box-shadow:inset 3px 0 #f4ce55; }.ff-ticket-card strong{display:block;font-size:16px;margin-bottom:6px}.ff-ticket-card small{color:#9da9bb;line-height:1.45}.ff-ticket-state{width:9px;height:9px;border-radius:50%;background:#788397}.ff-ticket-state.open{background:#35c98b}.ff-ticket-chevron{font-size:27px;color:#778398}.ff-ticket-loading,.ff-ticket-error,.ff-ticket-empty{padding:22px;border:1px solid #ffffff12;border-radius:18px;background:#ffffff07;color:#aeb9c9}.ff-ticket-empty{display:flex;flex-direction:column;gap:6px;text-align:center}.ff-ticket-error{color:#ffd5dc;border-color:#ff4d6d45;background:#ff4d6d14}
.ff-ticket-form,.ff-ticket-reply { display:flex;flex-direction:column;gap:15px;padding:18px;border:1px solid #ffffff13;border-radius:22px;background:#ffffff08; }.ff-ticket-form label{display:flex;flex-direction:column;gap:8px;color:#cbd3df;font-weight:650}.ff-ticket-form input,.ff-ticket-form select,.ff-ticket-form textarea,.ff-ticket-reply textarea{width:100%;border:1px solid #ffffff18;border-radius:14px;background:#ffffff0b;color:#fff;padding:13px;font:inherit;outline:none}.ff-ticket-form input,.ff-ticket-form select{height:50px}.ff-ticket-form textarea{min-height:160px;resize:vertical}.ff-ticket-reply textarea{min-height:100px;resize:vertical}.ff-ticket-primary{min-height:50px;border:0;border-radius:15px;background:#f4ce55;color:#17130a;font-weight:800;font-size:15px}.ff-ticket-primary:disabled{opacity:.55}.ff-ticket-form-error{color:#ff9aab;line-height:1.4}
.ff-ticket-detail-top { padding:18px;border:1px solid #ffffff13;border-radius:20px;background:linear-gradient(145deg,#ffffff11,#ffffff06);margin-bottom:12px}.ff-ticket-kicker{color:#f4ce55;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.ff-ticket-detail h2{margin:7px 0;font-size:22px}.ff-ticket-detail p{margin:0;color:#9ca8b9}.ff-ticket-thread{display:flex;flex-direction:column;gap:9px;margin:12px 0}.ff-ticket-message{padding:14px;border:1px solid #ffffff10;border-radius:17px;background:#ffffff07;line-height:1.5}.ff-ticket-message-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:#f4ce55}.ff-ticket-message-head time{color:#8290a3;font-size:12px;font-weight:400}.ff-ticket-actions{display:grid;gap:8px;margin-top:12px}.ff-ticket-actions button{min-height:46px;border:1px solid #ffffff13;border-radius:14px;background:#ffffff08;color:#d4dbe6}

#ff-call-app { position: fixed; inset: 0; z-index: 90000; background: radial-gradient(circle at 50% -10%,#26334a,#080b12 44%); color:#f7f8fb; font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow:hidden; }
.ff-call-head { height:calc(64px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) 16px 0; display:flex; align-items:center; gap:12px; border-bottom:1px solid #ffffff12; background:#080b12bb; backdrop-filter:blur(20px); }
.ff-call-back,.ff-call-icon { width:44px;height:44px;border:0;border-radius:14px;background:#ffffff0c;color:#fff;font-size:22px; }
.ff-call-title { flex:1; font-size:20px; font-weight:750; letter-spacing:-.4px; }
.ff-call-body { height:calc(100dvh - 64px - env(safe-area-inset-top)); overflow:auto; padding:18px 14px calc(28px + env(safe-area-inset-bottom)); }
.ff-call-hero { padding:20px; border:1px solid #ffffff14; border-radius:24px; background:linear-gradient(145deg,#ffffff12,#ffffff07); margin-bottom:18px; }
.ff-call-hero h2 { margin:0 0 6px;font-size:23px;letter-spacing:-.5px; }
.ff-call-muted { color:#aeb8c9; line-height:1.45; }
.ff-call-search { width:100%;height:48px;border:1px solid #ffffff16;border-radius:16px;background:#ffffff0b;color:#fff;padding:0 16px;outline:none;margin-bottom:12px; }
.ff-call-person { width:100%;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;padding:12px;border:1px solid #ffffff12;border-radius:19px;background:#ffffff08;color:#fff;margin:8px 0;text-align:left; }
.ff-call-avatar { width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#33415b,#1a2231);display:grid;place-items:center;font-weight:750;font-size:18px; }
.ff-call-name { font-weight:700;font-size:16px; }.ff-call-role { color:#9ba8ba;font-size:13px;margin-top:3px; }
.ff-call-dial { width:46px;height:46px;border:0;border-radius:50%;background:#35c98b;color:#07150f;font-size:21px; }
.ff-call-stage { position:fixed;inset:0;z-index:91000;background:radial-gradient(circle at 50% 15%,#33435f,#080b12 55%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px; }
.ff-call-stage .ff-call-avatar { width:104px;height:104px;border-radius:34px;font-size:38px;box-shadow:0 22px 70px #0007;margin-bottom:22px; }
.ff-call-peer { font-size:27px;font-weight:800;letter-spacing:-.6px; }.ff-call-status { color:#bac5d5;margin-top:8px;min-height:22px; }
.ff-call-actions { display:flex;gap:20px;margin-top:52px; }.ff-call-action { width:64px;height:64px;border:0;border-radius:50%;color:#fff;font-size:25px;background:#ffffff18; }.ff-call-action.end { background:#f04e61; }.ff-call-action.accept { background:#35c98b; }
.ff-call-error { margin:14px 0;padding:12px 14px;border-radius:14px;background:#ff4d6d1c;border:1px solid #ff4d6d4a;color:#ffd7de; }
.ff-ticket-file { padding:13px;border:1px dashed #f4ce5555;border-radius:14px;background:#f4ce5508;cursor:pointer }.ff-ticket-file input{height:auto!important;margin-top:8px}.ff-ticket-file span{font-size:12px;color:#9da9bb;font-weight:400}.ff-ticket-file.compact{display:block;color:#f4ce55;font-weight:700}.ff-ticket-attachment{width:100%;margin-top:10px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;text-align:left;padding:10px 12px;border:1px solid #f4ce5535;border-radius:13px;background:#f4ce550b;color:#f5f7fb}.ff-ticket-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-ticket-attachment small{color:#98a5b7}
.ff-ticket-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#33415b,#171e2a);color:#fff;font-weight:800;border:1px solid #ffffff18}.ff-ticket-avatar img{width:100%;height:100%;object-fit:cover}.ff-ticket-section-title{margin:2px 2px 10px;color:#cbd4e2;font-size:14px}.ff-ticket-closed{margin-top:18px;border-top:1px solid #ffffff12;padding-top:14px}.ff-ticket-closed>summary{cursor:pointer;color:#aeb9c9;font-weight:750;margin-bottom:10px}.ff-ticket-participants{display:grid;gap:9px;margin-top:15px}.ff-ticket-participant{display:flex;gap:10px;align-items:center}.ff-ticket-participant span:last-child{display:flex;flex-direction:column;min-width:0}.ff-ticket-participant small,.ff-ticket-message-head small{display:block;color:#8996a9;font-size:11px}.ff-ticket-participant b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-ticket-message{display:flex;gap:10px}.ff-ticket-message-content{min-width:0;flex:1}.ff-ticket-message-head span{min-width:0}.ff-ticket-message-head b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-ticket-notice{padding:14px;border:1px solid #f4ce5530;border-radius:15px;background:#f4ce5509;color:#d9c986;line-height:1.45}.ff-ticket-transfer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.ff-ticket-transfer select{min-width:0;border:1px solid #ffffff18;border-radius:14px;background:#151a24;color:#fff;padding:11px}.ff-ticket-transfer button{padding:0 13px}
.ff-ticket-read-receipt{margin-top:7px;text-align:right;color:#7e8999;font-size:11px;font-weight:700}.ff-ticket-read-receipt.is-read{color:#62b8ff}.ff-ticket-message.is-target{border-color:#f4ce55;box-shadow:0 0 0 2px #f4ce5535,0 10px 35px #0005;animation:ff-ticket-target 1.5s ease}@keyframes ff-ticket-target{0%{background:#f4ce5530}100%{background:#ffffff07}}
.ff-mention{display:inline;padding:1px 4px;border-radius:5px;background:#3b82f626;color:#8ec5ff;font-weight:800}.ff-mention-everyone{background:#f4ce5525;color:#f4ce55}.ff-mention-suggest{position:fixed;z-index:120000;left:14px;right:14px;bottom:calc(84px + env(safe-area-inset-bottom));max-height:260px;overflow:auto;padding:6px;border:1px solid #ffffff20;border-radius:16px;background:#151b27f7;box-shadow:0 18px 60px #000a;backdrop-filter:blur(20px)}.ff-mention-suggest button{width:100%;display:flex;justify-content:space-between;gap:12px;padding:11px;border:0;border-radius:11px;background:transparent;color:#fff;text-align:left}.ff-mention-suggest button:active{background:#ffffff12}.ff-mention-suggest b{color:#8ec5ff}.ff-mention-suggest small{color:#8e9aad;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bubble.ff-push-target{outline:2px solid #f4ce55;box-shadow:0 0 0 5px #f4ce5525,0 14px 45px #0008;animation:ff-push-target 2s ease}@keyframes ff-push-target{0%{background:#f4ce5540}100%{background:var(--bubble-bg,rgba(255,255,255,.06))}}
#ff-ticket-app,#ff-call-app{inset:auto!important;left:0!important;top:var(--ff-screen-top,0)!important;width:var(--ff-screen-width,100vw)!important;height:var(--ff-screen-height,100dvh)!important;max-width:100vw!important}.ff-ticket-body,.ff-call-body{height:calc(var(--ff-screen-height,100dvh) - 66px - env(safe-area-inset-top))!important;max-width:100%;overflow-x:hidden}.composer__row{max-width:100%;overflow:hidden}.sheet{max-width:var(--ff-screen-width,100vw)!important}
