:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#242738;background:#f5f6fa;font-synthesis:none;--primary:#655be9;--muted:#9093a4;--line:#eeeff5}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #aba6fa;outline-offset:3px}a{text-decoration:none;color:inherit}svg{width:22px;height:22px;flex-shrink:0}input,textarea{outline:none;min-width:0}input:focus,textarea:focus{border-color:#9289ee!important}h1,h2,h3,p{margin:0}img{display:block}small{font-size:12px}.muted{color:var(--muted);line-height:1.8}.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--primary);color:white;padding:13px 23px;border-radius:10px;font-size:14px;font-weight:600;box-shadow:0 5px 13px #655be91a}.primary:hover{background:#574bd8}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#9290b3}.pill{display:inline-block;border-radius:6px;background:#f0edff;color:#7870be;padding:7px 10px;font-size:10px;letter-spacing:1px}.brand{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:750;letter-spacing:1px}.brand img{width:41px;height:41px}.brand>span{font-size:10px;font-weight:500;letter-spacing:2px;color:#9490aa;border-left:1px solid #dcd9e9;padding-left:12px;margin-left:4px}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}.intro{position:relative;background:radial-gradient(ellipse at 90% 90%,#e5e5fc,transparent 65%),#efeff9;padding:44px 9%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.intro-copy{max-width:470px;margin:60px auto}.intro h1{font-size:clamp(36px,3.2vw,52px);font-weight:650;line-height:1.5;letter-spacing:2px;margin:23px 0}.intro h1>span{color:var(--primary)}.intro p{font-size:14px;color:#9291a7;line-height:2}.intro>small{color:#9b99ad;font-size:10px;letter-spacing:.5px}.chat-art{margin:35px 0 32px;padding:20px 22px;background:#ffffff80;border:1px solid #fff9;border-radius:19px;box-shadow:0 20px 60px #655be908;transform:rotate(-2deg);width:100%;min-width:290px}.art-note{text-align:center;font-size:9px;letter-spacing:2px;color:#aca9bc;margin-bottom:21px}.art-line{display:flex;align-items:center;gap:10px;margin:17px 0}.art-line.right{justify-content:flex-end}.art-avatar{display:grid;place-items:center;background:#d6e7e4;color:#6c9a91;width:33px;height:33px;border-radius:11px;font-size:12px}.art-avatar.peach{background:#fbe7d8;color:#ba8c69}.art-bubble{padding:12px 15px;background:white;border-radius:3px 13px 13px 13px;font-size:12px;box-shadow:0 4px 10px #49416405}.art-bubble.purple{background:#7469e9;color:#fff;border-radius:13px 3px 13px 13px}.dots{color:#b1aacf;letter-spacing:4px}.intro-tags{display:flex;gap:25px;color:#87849e;font-size:11px}.intro-tags>span{display:flex;gap:7px;align-items:center}.intro-tags svg{width:16px;height:16px}.auth-side{display:flex;align-items:center;justify-content:center;background:#fff;padding:45px}.auth-card{width:365px;max-width:100%}.auth-card h2{font-size:30px;font-weight:650;margin:22px 0 10px;letter-spacing:1px}.auth-card .muted{font-size:13px}.auth-tabs{margin:32px 0 28px;display:flex;border-bottom:1px solid var(--line);gap:32px}.auth-tabs button{padding:12px 1px;color:#a09eae;font-size:14px;border-bottom:2px solid transparent}.auth-tabs .active{color:var(--primary);border-color:var(--primary);font-weight:600}label{display:block;font-size:13px;margin:22px 0;color:#565568}label input{width:100%;margin-top:10px;border:1px solid #e8e8ee;border-radius:8px;padding:14px 15px;font-size:13px;background:#fdfdff}input::placeholder,textarea::placeholder{color:#b0afbc}.submit{width:100%;justify-content:space-between;margin:5px 0 20px;padding:15px 20px}.auth-tip{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.9;color:#aaa7b7}.auth-tip svg{width:17px;height:17px;margin-top:2px}.error{font-size:12px;color:#d36376;min-height:18px}.switch-link{display:block;text-align:center;color:#9995af;font-size:11px;margin-top:35px}.loading{padding:20vh 20px;text-align:center;color:var(--muted)}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);max-width:90vw;background:#292639;color:white;border-radius:10px;padding:13px 22px;font-size:13px;opacity:0;pointer-events:none;z-index:20;transition:.2s;box-shadow:0 8px 30px #24273825}#toast.show{transform:translate(-50%,0);opacity:1}.messenger{height:100dvh;display:grid;grid-template-columns:80px 320px minmax(0,1fr);max-width:1800px;margin:auto;background:#fff}.rail{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line);padding:30px 0 20px;background:#fafafe}.logo img{width:40px;height:40px}.rail-links{margin-top:45px;display:grid;gap:17px}.rail-button{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;color:#a4a2b9}.rail-button.active{color:var(--primary);background:#edeafd}.rail-button:hover{background:#f0edf9}.rail-bottom{margin-top:auto;display:grid;justify-items:center;gap:20px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;flex-shrink:0;font-size:17px;font-weight:600;background:#e8e4fb;color:#8774bf}.color-0{background:#e6e2fb;color:#8d7abc}.color-1{background:#e4f0ed;color:#70a096}.color-2{background:#faebde;color:#c19571}.color-3{background:#e3ebfa;color:#7e99c3}.color-4{background:#f3e3ed;color:#bb82a3}.rail-bottom .avatar{width:35px;height:35px;font-size:13px;border-radius:11px}.sidebar{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:32px 25px 25px}.sidebar-head h1{font-size:23px;font-weight:650;display:flex;align-items:center;gap:9px}.tiny-dot{width:6px;height:6px;background:var(--primary);border-radius:50%}.sidebar-head p{color:#aaa6b9;font-size:10px;margin-top:10px;letter-spacing:.3px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f7f6fb;color:#9088b3}.search-box{display:flex;align-items:center;gap:9px;background:#f6f6fa;border:1px solid transparent;padding:10px 12px;border-radius:9px;margin:0 22px}.search-box svg{width:17px;height:17px;color:#b0acbf}.search-box input{width:100%;background:transparent;border:0;font-size:12px;color:#545267}.search-box:focus-within{border-color:#c9c3f6}.list-label{display:flex;justify-content:space-between;padding:26px 25px 12px;color:#9b97ac;font-size:10px}.list-label>span:last-child{color:#aaa5c0;background:#f4f2fa;border-radius:5px;min-width:18px;text-align:center;padding:1px 4px}.conversation-list{flex:1;overflow-y:auto;padding:0 10px}.conversation{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px 13px;border-radius:10px;margin-bottom:3px}.conversation:hover{background:#f9f8fd}.conversation.selected{background:#f0edfc}.conversation-copy{min-width:0;flex:1}.conversation-title{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;gap:5px}.conversation-title time{font-size:9px;font-weight:400;color:#aca6c0}.conversation-preview{display:block;position:relative;margin-top:8px;color:#a39db5;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:20px}.unread{position:absolute;right:0;top:0;background:#8b80e8;color:white;border-radius:8px;padding:1px 5px;font-size:9px}.membership{margin:18px 20px 25px;border:1px solid #eee8f9;background:linear-gradient(110deg,#f5f1fc,#fcf9ff);border-radius:10px;padding:15px 11px;display:flex;align-items:center;gap:9px}.membership-icon{color:#b399d0}.membership-icon svg{width:23px;height:23px}.membership strong{font-size:11px;font-weight:600;color:#857298}.membership p{font-size:9px;color:#b1a2bd;margin-top:6px}.member-mark{margin-left:auto;font-size:10px;color:#bba7d1}.list-empty{text-align:center;padding:55px 10px;color:#aba6bb;font-size:12px}.list-empty>svg{display:block;width:34px;height:34px;margin:0 auto 20px;opacity:.6}.list-empty strong{font-size:12px;font-weight:500}.list-empty p{font-size:11px;line-height:1.9;margin-top:10px}.search-user{display:flex;align-items:center;gap:10px;padding:15px 12px}.search-user>div{flex:1;min-width:0;overflow-wrap:anywhere}.search-user strong{font-size:12px}.search-user small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.small-button{background:#f3f0fc;color:#8b7eb9;border-radius:6px;padding:7px 10px;font-size:11px;white-space:nowrap}.list-hint{padding:30px;font-size:12px;color:var(--muted)}.chat-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fafbfe}.empty-header{display:flex;justify-content:space-between;padding:34px 35px;border-bottom:1px solid var(--line);color:#a39fb3;font-size:11px}.connection{font-size:10px;color:#a7a3b7}.connection:before{content:'';display:inline-block;width:5px;height:5px;background:#b3cabb;border-radius:50%;margin-right:7px}.welcome{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px 20px}.welcome-symbol{position:relative;display:grid;place-items:center;width:95px;height:95px;border-radius:30px;background:#eeebfc;color:#a197dc;transform:rotate(-9deg);margin-bottom:36px;box-shadow:10px 10px 0 #f3f0fd}.welcome-symbol svg{width:45px;height:45px;stroke-width:1.2}.welcome-symbol>span{position:absolute;right:-12px;top:-11px;color:#c7bbec;font-size:29px}.welcome .eyebrow{font-size:8px;letter-spacing:2px;color:#b8b2ca}.welcome h2{font-size:26px;font-weight:500;margin:18px 0;color:#56506d;letter-spacing:2px}.welcome p{font-size:12px;line-height:2;color:#a9a3b8}.welcome .primary{margin-top:26px;font-size:12px;padding:11px 19px}.welcome .primary svg{width:16px;height:16px}.welcome-note{display:flex;align-items:center;gap:6px;margin-top:39px;font-size:10px;color:#b4aec3}.welcome-note svg{width:13px;height:13px}.empty-footer{text-align:center;font-size:10px;letter-spacing:1px;color:#c1bbcf;padding:25px}.chat-header{height:88px;flex-shrink:0;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;padding:0 30px;gap:13px}.chat-header h2{font-size:15px;font-weight:600}.chat-header p{font-size:10px;color:#aaa3bb;margin-top:7px}.chat-header-note{margin-left:auto;font-size:10px;color:#aaa5bb}.mobile-back{display:grid;background:transparent}.message-area{flex:1;overflow-y:auto;padding:20px 32px;min-height:0;overscroll-behavior:contain}.message-state{text-align:center;color:var(--muted);font-size:12px;padding:50px}.history-divider{text-align:center;color:#bdb6cd;font-size:10px;margin:15px 0 35px}.message-row{display:flex;align-items:flex-start;gap:11px;margin:20px 0}.message-row>.avatar{width:33px;height:33px;border-radius:11px;font-size:13px}.message-content{max-width:72%;min-width:0}.bubble{padding:12px 15px;background:white;border:1px solid #efeef6;border-radius:2px 12px 12px 12px;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;color:#5c576d}.message-content time{display:block;color:#bdb7cc;font-size:9px;margin-top:7px}.message-row.mine{flex-direction:row-reverse}.mine .bubble{background:#7568e8;color:white;border-color:#7568e8;border-radius:12px 2px 12px 12px}.mine time{text-align:right}.history-button{display:block;margin:auto;color:#968ab8;font-size:11px}.composer{flex-shrink:0;background:#fff;border-top:1px solid var(--line);padding:17px 28px 20px}.composer-toolbar{display:flex;justify-content:space-between;align-items:center;color:#b5adc4;font-size:9px}.composer-toolbar span:first-child{display:flex;align-items:center;gap:8px;font-size:10px}.composer-toolbar svg{width:18px;height:18px}.composer textarea{resize:none;display:block;width:100%;border:0;background:transparent;padding:16px 0 5px;font-size:13px;line-height:1.7;color:#5c546f}.composer-bottom{display:flex;justify-content:space-between;align-items:center}.composer-bottom>span{font-size:9px;color:#c2bacf}.composer .primary{font-size:11px;padding:9px 18px;border-radius:7px}.composer .primary svg{width:15px;height:15px}.locked-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#aaa0ba;gap:17px}.locked-state>svg{width:45px;height:45px;color:#b8a3d0}.locked-state h3{font-size:19px;font-weight:500;color:#8c7ba3}.locked-state p{font-size:12px;line-height:1.9}.admin-layout{min-height:100dvh;display:grid;grid-template-columns:230px 1fr}.admin-rail{position:sticky;top:0;height:100dvh;background:#fff;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column}.admin-rail .brand{font-size:20px;gap:9px}.admin-rail .brand img{width:32px;height:32px}.admin-rail .brand>span{font-size:9px;letter-spacing:0;padding-left:9px;margin-left:0}.admin-nav{font-size:10px;color:#b5aec2;margin:55px 12px 18px}.admin-nav-item{display:flex;align-items:center;gap:11px;color:var(--primary);background:#f0ecfc;border-radius:9px;padding:13px 15px;font-size:12px}.admin-nav-item svg{width:18px;height:18px}.admin-identity{margin-top:auto;display:flex;align-items:center;gap:10px;color:#a29ab3;font-size:12px}.admin-identity>span{flex:1}.admin-identity small{display:block;font-size:9px;margin-top:5px}.admin-main{padding:49px 4.5%;min-width:0;max-width:1600px;width:100%;margin:auto}.admin-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.admin-heading .eyebrow{font-size:9px;color:#aba4bb}.admin-heading h1{font-size:27px;margin:13px 0;font-weight:600}.admin-heading p{color:#a39bad;font-size:12px}.admin-badge{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #eae7f0;border-radius:7px;padding:10px 13px;color:#a398b5;font-size:10px}.admin-badge svg{width:16px;height:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}.stat{display:flex;justify-content:space-between;background:white;border:1px solid #ece9f2;border-radius:12px;padding:24px}.stat>div{display:flex;flex-direction:column}.stat span{font-size:12px;color:#a097b0}.stat strong{font-size:32px;font-weight:600;margin:15px 0 10px;letter-spacing:1px}.stat small{font-size:10px;color:#bcb4c8}.stat .stat-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:11px;background:#f2effc;color:#a190d4}.stat:nth-child(2) .stat-icon{background:#faf2e7;color:#c6aa7a}.stat:nth-child(3) .stat-icon{background:#f7ebee;color:#c69aa6}.user-panel{background:#fff;border:1px solid #ece9f2;border-radius:12px;overflow:hidden}.user-panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px}.user-panel h2{font-size:15px;font-weight:600}.user-panel-head p{font-size:10px;color:#aca4bc;margin-top:8px}.user-panel-head .search-box{margin:0;width:260px;padding:6px 10px}.user-panel-head input{font-size:11px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-weight:500;font-size:10px;background:#faf9fd;color:#aba1bb;padding:15px 24px}td{font-size:11px;padding:18px 24px;color:#a69bb5;border-bottom:1px solid #f2eff6}.table-user{display:flex;align-items:center;gap:11px}.table-user .avatar{width:35px;height:35px;border-radius:10px;font-size:13px}.table-user strong{font-size:12px;color:#6e607f;font-weight:500}.table-user small{display:block;font-size:9px;color:#bcb0c8;margin-top:6px}.badge{background:#f6f4f8;border-radius:5px;padding:5px 9px;font-size:10px;color:#b1a5be}.badge.purple{background:#f0eafa;color:#a08bc2}.status{font-size:10px;color:#91ad9f}.status:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:6px}.status.closed{color:#c99ca8}.table-actions{display:flex;gap:18px}.text-button{font-size:11px;color:#9680c6;padding:5px 0}.text-button.danger{color:#cb9aa6}.pagination{display:flex;justify-content:space-between;padding:19px 24px;font-size:10px;color:#b2a6bf;align-items:center}.pagination>div{display:flex;align-items:center;gap:14px}.admin-footnote{display:flex;align-items:center;gap:7px;font-size:10px;color:#b3a9c1;margin-top:22px}.admin-footnote svg{width:14px;height:14px}.no-users{text-align:center;padding:60px}
@media(min-width:1600px){.messenger{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:1000px){.messenger{grid-template-columns:65px 280px minmax(0,1fr)}.intro{padding:35px 7%}.auth-side{padding:30px}.admin-layout{grid-template-columns:180px 1fr}.admin-rail{padding:25px 15px}.admin-rail .brand>span{display:none}.admin-main{padding:35px 25px}.stats{gap:12px}.stat{padding:18px}.stat .stat-icon{width:32px;height:32px}.user-panel-head{flex-wrap:wrap}.admin-badge{display:none}td,th{padding-left:18px;padding-right:18px}}
@media(max-width:700px){.auth-layout{display:block;min-height:100dvh;background:#fff}.intro{padding:24px 27px;background:#f3f1fc}.intro-copy,.intro>small{display:none}.brand{font-size:22px}.brand img{width:34px;height:34px}.auth-side{padding:38px 28px}.auth-card{width:100%;max-width:390px}.auth-card h2{font-size:27px}.auth-tabs{margin-top:24px}.auth-card .pill{font-size:9px}.messenger{grid-template-columns:58px minmax(0,1fr)}.rail{padding:23px 0 18px}.logo img{width:34px;height:34px}.rail-links{margin-top:32px}.rail-button{width:38px;height:38px}.sidebar-head{padding:25px 22px}.sidebar-head h1{font-size:23px}.sidebar{border:0}.chat-pane{display:none}.messenger.chat-open{display:block}.chat-open .rail,.chat-open .sidebar{display:none}.chat-open .chat-pane{display:flex;height:100dvh}.mobile-back{display:grid;background:transparent;width:24px;margin-left:-5px}.chat-header{height:76px;padding:0 18px;gap:10px}.chat-header .avatar{width:36px;height:36px;border-radius:11px}.chat-header-note{font-size:9px}.message-area{padding:15px 17px}.message-content{max-width:78%}.composer{padding:13px 17px max(15px,env(safe-area-inset-bottom))}.composer-toolbar span:last-child{display:none}.composer textarea{font-size:16px;max-height:90px;padding-top:12px}.composer-bottom>span{font-size:8px}.bubble{font-size:14px}.membership{margin-bottom:max(20px,env(safe-area-inset-bottom))}.admin-layout{display:block}.admin-rail{position:static;height:auto;flex-direction:row;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.admin-nav,.admin-nav-item{display:none}.admin-identity>svg{display:none}.admin-identity{margin:0;gap:12px}.admin-identity small{font-size:8px}.admin-main{padding:28px 16px}.admin-heading{margin-bottom:24px}.admin-heading h1{font-size:24px}.admin-heading p{font-size:11px}.stats{gap:8px;margin-bottom:20px}.stat{padding:15px 12px}.stat .stat-icon,.stat small{display:none}.stat span{font-size:10px}.stat strong{font-size:28px;margin:13px 0 2px}.user-panel-head{padding:20px 16px;gap:17px}.user-panel-head .search-box{width:100%}.pagination{padding:16px 13px}.pagination>div{gap:9px}.pagination .small-button{padding:6px 8px}.admin-footnote{align-items:flex-start;font-size:9px;line-height:1.8}.search-box input{font-size:16px}.search-box input::placeholder{font-size:12px}label input{font-size:16px}}

.username-hint{display:block;margin-top:9px;color:#9093a4;font-size:11px;line-height:1.7}

.admin-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.admin-filters label{margin:0;font-size:11px;color:#91879f}.admin-filters input,.admin-filters select{display:block;width:150px;height:36px;margin-top:8px;border:1px solid #e9e5f1;border-radius:7px;padding:7px 10px;background:#fff;color:#645972;font:inherit;font-size:12px}.admin-filters .primary{height:36px;padding:8px 18px;font-size:12px}.admin-filters>.small-button{height:36px}.user-panel-head{flex-wrap:wrap}.expiry-cell{font-variant-numeric:tabular-nums;font-size:11px}.membership-dialog{width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid #ece7f5;border-radius:18px;padding:28px;color:#494055;box-shadow:0 24px 100px #30244630}.membership-dialog::backdrop{background:#27213e55;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center}.modal-heading h2{font-size:23px;margin-top:15px;font-weight:600}.modal-heading .icon-button{font-size:24px;align-self:flex-start}.modal-account{font-size:13px;color:#9a8da9;margin:23px 0 5px;overflow-wrap:anywhere}.modal-account strong{color:#665774}.membership-fields{display:flex;gap:16px}.membership-fields label{flex:1;min-width:0;margin:20px 0 12px}.membership-fields select{display:block;width:100%;margin-top:10px;border:1px solid #e8e8ee;border-radius:8px;padding:13px;background:#fdfdff;color:#665774;font:inherit;height:46px}.membership-fields input{height:46px}.membership-fields [hidden]{display:none}.duration-note{font-size:11px;color:#aaa0b7;line-height:1.8;min-height:22px}.expiry-preview{background:#f7f4fd;border:1px solid #efebf8;border-radius:10px;padding:17px;margin:22px 0 16px;display:flex;flex-direction:column;gap:10px}.expiry-preview span{font-size:11px;color:#a399b4}.expiry-preview strong{font-size:17px;font-weight:500;color:#8370b7;font-variant-numeric:tabular-nums}.expiry-preview small{font-size:10px;color:#ada2ba}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:15px}.modal-actions .small-button{padding:11px 20px}.modal-actions .primary{font-size:12px}.membership-dialog select:focus{outline:2px solid #b9acee;outline-offset:2px}
@media(max-width:700px){.admin-filters{width:100%;gap:12px}.admin-filters label{flex:1 1 40%}.admin-filters label:first-child{flex-basis:100%}.admin-filters input,.admin-filters select{width:100%;font-size:16px;height:42px}.admin-filters .primary,.admin-filters>.small-button{height:38px}.membership-dialog{padding:22px}.membership-fields select,.membership-fields input{font-size:16px}}

button.membership{text-align:left;flex-shrink:0}button.membership:hover{border-color:#cbbbea;background:#f3edfc}.admin-heading-actions{display:flex;align-items:center;gap:12px}.admin-heading-actions .primary{font-size:12px;padding:11px 15px;white-space:nowrap}.contacts-intro{font-size:12px;color:#9c90ad;line-height:1.9;margin:20px 0}.contacts-body>.muted{padding:25px 0;font-size:12px}.contact-details{display:grid;gap:13px}.contact-detail{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:16px;background:#f8f6fc;border:1px solid #eee9f7;border-radius:10px}.contact-detail>div{min-width:0}.contact-detail small{display:block;font-size:11px;color:#a192b4;margin-bottom:9px}.contact-detail strong{font-size:15px;font-weight:500;overflow-wrap:anywhere;user-select:text}.contact-detail .small-button{flex-shrink:0}.contact-image{margin:0;padding:18px;border:1px solid #ece6f5;border-radius:10px;text-align:center}.contact-image figcaption{font-size:13px;color:#8f7fa5;margin-bottom:15px;overflow-wrap:anywhere}.contact-image img{max-width:100%;max-height:330px;object-fit:contain;margin:auto;border-radius:6px}.contact-image small{display:block;font-size:10px;color:#b8afc2;margin-top:12px}.contacts-empty{padding:28px 10px;text-align:center;font-size:13px;color:#a699b3;line-height:2}.contacts-empty span{font-size:12px}.contacts-editor{width:660px}.contacts-editor fieldset{border:0;padding:0;margin:0;min-width:0}.contact-edit-row{padding:16px;border:1px solid #ebe5f3;border-radius:10px;margin-bottom:14px;background:#fcfbfe}.contact-row-head{display:flex;align-items:center;gap:12px}.contact-row-head label{margin:0;min-width:0;font-size:11px}.contact-row-head label:first-child{width:105px;flex-shrink:0}.contact-row-head label:nth-child(2){flex:1}.contact-edit-row select{display:block;width:100%;margin-top:10px;padding:10px 8px;border:1px solid #e8e4ee;border-radius:7px;background:#fff;color:#71637e;font:inherit;height:38px}.contact-edit-row input{padding:10px;font-size:12px;height:38px}.contact-row-head .text-button{margin-top:22px}.contact-value-label,.upload-contact{margin:15px 0 0;font-size:11px}.upload-contact input{height:auto;font-size:11px;padding:10px;background:#fff;max-width:100%}.contact-file-status{font-size:10px;color:#a092b0;margin-top:10px}.contact-upload-preview{max-width:100%;max-height:140px;margin-top:14px;object-fit:contain;border:1px solid #eee7f4;border-radius:6px}.contact-upload-note{font-size:10px;line-height:1.8;color:#b2a5bf;margin:15px 0}.contacts-editor .error{margin-top:10px}.search-user .small-button{padding-left:8px;padding-right:8px;font-size:10px}
@media(max-width:700px){.admin-heading{gap:12px}.admin-heading-actions .primary{padding:10px;font-size:11px}.contact-row-head{flex-wrap:wrap;gap:9px}.contact-row-head label:first-child{width:83px}.contact-edit-row{padding:12px}.contact-edit-row input,.contact-edit-row select{font-size:16px}.contact-row-head label:nth-child(2){min-width:95px}.contact-row-head .text-button{font-size:11px}.contact-detail strong{font-size:14px}.contacts-editor{padding:20px}.contact-upload-note{font-size:10px}}

.friend-request-entry{display:flex;align-items:center;justify-content:space-between;margin:16px 22px 0;padding:10px 12px;background:#f6f3fc;border-radius:8px;color:#9281b3;font-size:12px;text-align:left}.friend-request-entry span{border-radius:8px;background:#e9e1f8;padding:2px 7px;font-size:10px}.requests-subtitle{font-size:12px;font-weight:500;color:#a295b2;margin:24px 0 12px}.request-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0ecf6;padding:15px 0}.request-row strong{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:500}.request-row>div{display:flex;gap:10px;align-items:center;flex-shrink:0}.request-row small{font-size:11px;color:#aca0bc}.request-empty{font-size:12px;color:#b4a9c1;padding:13px 0}.request-row .avatar{width:35px;height:35px;font-size:14px}

.tier-crown{display:inline-flex;vertical-align:middle;color:#a6a6ad;flex-shrink:0}.tier-crown svg{width:18px;height:18px;fill:currentColor;fill-opacity:.14}.tier-day,.tier-month{color:#438edb}.tier-quarter{color:#9460d8}.tier-year{color:#cca02e}.tier-long{color:#e4c471;background:#24232d;border-radius:5px;padding:3px}.tier-card-none{background:#f5f5f7!important;border-color:#e5e5e9!important}.tier-card-day,.tier-card-month{background:#eef6ff!important;border-color:#d4e7fc!important}.tier-card-quarter{background:#f6efff!important;border-color:#e4d4f9!important}.tier-card-year{background:#fff9e8!important;border-color:#eee0b2!important}.tier-card-long{background:linear-gradient(120deg,#26242d,#423928)!important;border-color:#685633!important}.tier-card-long strong,.tier-card-long .member-mark{color:#e4c471}.tier-card-long p{color:#b9a67d}.chat-header h2 .tier-crown{margin-left:4px}.search-user strong .tier-crown svg{width:14px;height:14px}.search-actions{display:flex;flex-direction:column;gap:7px;flex-shrink:0}.media-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.media-controls button{padding:6px 9px;border-radius:6px;background:#f2effa;color:#9080ae;font-size:11px}.record-status{font-size:11px;color:#c87a8d}.message-media{display:block;max-width:100%;border-radius:8px}.message-media:is(img,video){max-height:280px;object-fit:contain}.message-media:is(audio){width:280px;max-width:100%;min-width:0;height:42px}.media-bubble{padding:7px;min-width:0;max-width:330px}.media-preview h2{font-size:21px;margin-bottom:20px}.media-preview-content{max-height:50vh;overflow:auto}.media-preview-content .message-media{margin:auto}.badge .tier-crown svg{width:12px;height:12px}.logo{padding:0}
@media(max-width:700px){.media-controls{gap:5px}.media-controls button{font-size:10px;padding:5px 7px}.media-bubble{max-width:245px}.message-content:has(audio){width:calc(100% - 48px)}.search-actions .small-button{font-size:9px;padding:6px}.conversation-title .tier-crown svg{width:15px;height:15px}}

.search-box[hidden],.chat-header-actions [hidden]{display:none}.chat-header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.chat-header-actions .small-button{font-size:10px;white-space:nowrap}@media(max-width:700px){.chat-header-actions{gap:5px}.chat-header-actions .chat-header-note{display:none}}

.unread-count{flex-shrink:0;border-radius:9px;min-width:18px;padding:2px 5px;background:#7867df;color:#fff;font-size:10px;text-align:center;margin-left:auto}

.message-row.mine.send-failed .bubble{background:#fff0f1;border-color:#eaa2a8;color:#ca3549}.message-row.send-failed time{color:#ca3549}.message-row.send-failed .media-bubble{border:2px solid #db6472}

.password-entry{height:46px;gap:2px}.password-entry small{font-size:9px;white-space:nowrap}.password-entry svg{width:19px;height:19px}
