:root{--ink:#172124;--muted:#718084;--line:#e5ebe8;--paper:#fbfcfa;--cream:#f3f5f0;--green:#174f46;--green-2:#23685c;--lime:#d9f99d;--coral:#ff7a5c;--shadow:0 24px 70px #1f393324}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.brand-mark{background:var(--lime);width:42px;height:42px;color:var(--green);letter-spacing:-1px;border-radius:14px;place-items:center;font-weight:900;display:grid;box-shadow:inset 0 0 0 1px #174f4614}.login-page{background:var(--green);grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid;overflow:hidden}.login-story{color:#fff;isolation:isolate;flex-direction:column;justify-content:space-between;padding:clamp(36px,7vw,96px);display:flex;position:relative}.login-story:before,.login-story:after{content:"";z-index:-1;filter:blur(2px);border-radius:999px;position:absolute}.login-story:before{background:#20675b;width:500px;height:500px;top:-160px;right:-100px}.login-story:after{border:70px solid #d9f99d1f;width:280px;height:280px;bottom:-140px;left:20%}.login-brand{align-items:center;gap:13px;font-size:17px;font-weight:750;display:flex}.login-copy{max-width:650px;margin:80px 0}.eyebrow{color:var(--lime);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.login-copy h1{letter-spacing:-.055em;margin:18px 0 28px;font-size:clamp(45px,6vw,84px);font-weight:750;line-height:.98}.login-copy p{color:#ffffffad;max-width:540px;font-size:18px;line-height:1.65}.login-chips{flex-wrap:wrap;gap:10px;display:flex}.login-chips span{background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;padding:10px 14px;font-size:13px}.login-panel{background:var(--paper);flex-direction:column;justify-content:center;padding:clamp(28px,6vw,88px);display:flex}.login-form{width:100%;max-width:440px;margin:auto}.mobile-logo{align-items:center;gap:12px;margin-bottom:44px;font-weight:800;display:none}.login-form h2{letter-spacing:-.04em;margin:0 0 10px;font-size:36px}.form-subtitle{color:var(--muted);margin:0 0 36px;line-height:1.5}.field{gap:8px;margin-bottom:18px;display:grid}.field label{font-size:13px;font-weight:800}.field input{background:#fff;border:1px solid #dbe3df;border-radius:12px;outline:none;width:100%;height:52px;padding:0 16px;transition:all .2s}.field input:focus{border-color:var(--green-2);box-shadow:0 0 0 4px #23685c1a}.password-wrap{position:relative}.password-wrap input{padding-right:48px}.icon-button{color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.password-wrap .icon-button{width:36px;height:36px;position:absolute;top:8px;right:8px}.primary-button{color:#fff;background:var(--green);border:0;border-radius:12px;width:100%;height:54px;margin-top:10px;font-weight:800;transition:all .2s}.primary-button:hover{background:var(--green-2);transform:translateY(-1px)}.error-box{color:#9e2f20;background:#fff0ec;border:1px solid #ffd2c8;border-radius:10px;margin:2px 0 12px;padding:12px 14px;font-size:13px}.login-hint{color:var(--muted);text-align:center;margin-top:24px;font-size:12px;line-height:1.5}.chat-page{height:100vh;background:#edf1ec;height:100dvh;padding:18px;overflow:hidden}.chat-app{background:var(--paper);max-width:1500px;height:100%;min-height:0;box-shadow:var(--shadow);border-radius:24px;grid-template-columns:330px minmax(0,1fr);margin:auto;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:#f7f9f5;flex-direction:column;min-width:0;min-height:0;display:flex}.sidebar-top{border-bottom:1px solid var(--line);align-items:center;gap:12px;height:80px;padding:18px 22px;display:flex}.sidebar-brand strong{font-size:15px;display:block}.sidebar-brand span{color:var(--muted);font-size:11px}.sidebar-label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;padding:26px 22px 10px;font-size:11px;font-weight:800}.contact-card{background:#fff;border-radius:15px;align-items:center;gap:12px;margin:0 12px;padding:13px;display:flex;box-shadow:0 6px 22px #1c413812}.avatar{width:44px;height:44px;color:var(--green);background:#dceee8;border-radius:50%;flex:none;place-items:center;font-weight:850;display:grid;position:relative}.avatar.coral{color:#9f3b27;background:#ffded6}.avatar.large{width:52px;height:52px;font-size:18px}.online-dot{background:#4bc680;border:2px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;bottom:1px;right:-1px}.contact-info{flex:1;min-width:0}.contact-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.contact-info span{color:var(--muted);font-size:11px}.contact-info span.status-online{color:#3d9b6a;font-weight:700}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto;padding:14px}.profile-mini{align-items:center;gap:11px;padding:8px;display:flex}.profile-mini .avatar{width:38px;height:38px;font-size:12px}.profile-mini .me{flex:1;min-width:0}.profile-mini .me strong,.profile-mini .me span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.profile-mini .me strong{font-size:12px}.profile-mini .me span{color:var(--muted);font-size:10px}.chat-main{background:#fff;grid-template-rows:80px minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.chat-header{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:12px 26px;display:flex}.mobile-sidebar-button{display:none}.chat-header-copy{flex:1;min-width:0}.chat-header-copy strong{font-size:15px;display:block}.chat-header-copy span{color:#3d9b6a;font-size:11px;font-weight:700}.chat-header-copy span.offline{color:var(--muted);font-weight:600}.header-action{border:1px solid var(--line);width:40px;height:40px;color:var(--green);background:#fff;border-radius:12px;place-items:center;display:grid}.messages{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#aebfb8 transparent;background-color:#fafbf9;background-image:radial-gradient(#dbe4df .65px,#0000 .65px);background-size:18px 18px;min-height:0;padding:28px clamp(18px,4vw,56px);overflow-y:scroll}.messages::-webkit-scrollbar{width:10px}.messages::-webkit-scrollbar-track{background:0 0}.messages::-webkit-scrollbar-thumb{background:#bdcbc6;border:3px solid #fafbf9;border-radius:999px}.messages::-webkit-scrollbar-thumb:hover{background:#8fa49c}.messages-inner{flex-direction:column;justify-content:flex-end;max-width:900px;min-height:100%;margin:auto;display:flex}.day-divider{color:#94a09d;text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:15px;margin:16px 0 26px;font-size:10px;font-weight:800;display:flex}.day-divider:before,.day-divider:after{content:"";background:var(--line);flex:1;height:1px}.message-row{align-items:flex-end;gap:8px;margin:4px 0;display:flex}.message-row.mine{justify-content:flex-end}.message-bubble{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:7px 17px 17px;max-width:min(72%,620px);padding:11px 14px 8px;font-size:14px;line-height:1.45;position:relative;box-shadow:0 3px 14px #233c3514}.message-row.mine .message-bubble{color:#fff;background:var(--green);border-radius:17px 7px 17px 17px;box-shadow:0 5px 18px #174f462e}.message-meta{color:#9aa7a3;justify-content:flex-end;align-items:center;gap:3px;margin-top:5px;font-size:9px;display:flex}.mine .message-meta{color:#ffffff94}.reaction-trigger{width:22px;height:20px;color:inherit;opacity:.7;background:0 0;border:0;border-radius:7px;place-items:center;margin:-3px -5px -3px 2px;padding:0;display:grid}.reaction-trigger:hover{opacity:1;background:#174f4614}.mine .reaction-trigger:hover{background:#ffffff1f}.reaction-picker{z-index:8;border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;gap:2px;padding:6px;display:flex;position:absolute;bottom:-45px;left:8px;box-shadow:0 8px 30px #14302933}.reaction-picker.picker-mine{left:auto;right:8px}.reaction-picker button{background:0 0;border:0;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:18px;transition:all .15s;display:grid}.reaction-picker button:hover{background:#edf4f0;transform:scale(1.15)}.message-reactions{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.reaction-chip{background:#f5f8f6;border:1px solid #dce5e1;border-radius:999px;justify-content:center;align-items:center;gap:3px;min-width:30px;height:26px;padding:0 7px;font-size:14px;display:inline-flex}.reaction-chip small{color:var(--muted);font-size:9px}.reaction-chip.mine-reacted{background:#dff2eb;border-color:#acd5c6}.mine .reaction-chip{color:#fff;background:#ffffff1c;border-color:#ffffff2e}.mine .reaction-chip small{color:#ffffffa6}.mine .reaction-chip.mine-reacted{background:#d9f99d2e;border-color:#d9f99da6}.voice-message{align-items:center;gap:9px;min-width:230px;display:flex}.voice-message audio{width:250px;max-width:100%;height:34px}.attachment-message{min-width:240px;max-width:420px}.image-attachment{gap:8px;display:grid}.image-preview-link{background:#e8eeeb;border-radius:11px;line-height:0;display:block;overflow:hidden}.image-preview-link img{object-fit:cover;width:100%;height:auto;max-height:310px;display:block}.attachment-caption-row{align-items:center;gap:12px;display:flex}.attachment-caption-row>div{flex:1;min-width:0}.attachment-caption-row strong,.attachment-caption-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attachment-caption-row strong{font-size:12px}.attachment-caption-row span{opacity:.65;margin-top:2px;font-size:9px}.attachment-caption-row a{color:inherit;background:#174f4614;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.mine .attachment-caption-row a{background:#ffffff21}.attachment-caption{margin:0;font-size:13px}.file-attachment{color:inherit;align-items:center;gap:11px;padding:4px 2px;text-decoration:none;display:flex}.file-card-icon{width:42px;height:42px;color:var(--green);background:#e8f2ee;border-radius:12px;flex:none;place-items:center;display:grid}.mine .file-card-icon{color:#fff;background:#ffffff24}.file-card-copy{flex:1;min-width:0}.file-card-copy strong,.file-card-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-card-copy strong{font-size:13px}.file-card-copy small{opacity:.65;margin-top:3px;font-size:10px}.empty-chat{text-align:center;color:var(--muted);align-self:center;max-width:340px;margin:auto;padding:40px}.empty-chat .empty-icon{width:58px;height:58px;color:var(--green);background:#e8f2ee;border-radius:20px;place-items:center;margin:0 auto 16px;display:grid}.empty-chat h3{color:var(--ink);margin:0 0 8px}.empty-chat p{margin:0;font-size:13px;line-height:1.55}.composer-wrap{border-top:1px solid var(--line);background:#fff;padding:14px 22px 18px}.file-input{display:none}.selected-file{background:#f5f8f6;border:1px solid #dce5e1;border-radius:13px;align-items:center;gap:10px;max-width:900px;margin:0 auto 9px;padding:9px 11px;display:flex}.selected-file-icon{width:36px;height:36px;color:var(--green);background:#e1eee9;border-radius:10px;flex:none;place-items:center;display:grid}.selected-file-copy{flex:1;min-width:0}.selected-file-copy strong,.selected-file-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.selected-file-copy strong{font-size:12px}.selected-file-copy span{color:var(--muted);margin-top:2px;font-size:10px}.selected-file-remove{width:32px;height:32px;color:var(--muted);background:#fff;border:0;border-radius:9px;place-items:center;display:grid}.composer{border:1px solid #dfe6e2;border-radius:17px;align-items:flex-end;gap:5px;max-width:900px;min-height:56px;margin:auto;padding:8px;display:flex;box-shadow:0 6px 25px #26433c0f}.composer textarea{resize:none;background:0 0;border:0;outline:0;flex:1;min-height:38px;max-height:120px;padding:9px 8px;line-height:1.35}.composer-action{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:11px;flex:none;place-items:center;display:grid}.composer-action:hover{color:var(--green);background:#f0f4f1}.composer-action.recording{color:#fff;background:var(--coral);animation:1.2s infinite pulse}.send-button{background:var(--lime);color:var(--green)}.send-button:hover{background:#ccf082}.recording-label{color:#c24a34;align-self:center;padding:0 6px;font-size:11px;font-weight:800}@keyframes pulse{50%{transform:scale(.91);box-shadow:0 0 0 7px #ff7a5c21}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0b1f1b75;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{width:min(520px,100%);max-height:calc(100vh - 36px);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:28px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-head h2{letter-spacing:-.03em;margin:0;font-size:23px}.modal-close{background:#f1f4f2;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.profile-hero{background:#f4f8f5;border-radius:16px;align-items:center;gap:14px;margin-bottom:24px;padding:16px;display:flex}.profile-hero strong,.profile-hero span{display:block}.profile-hero span{color:var(--muted);margin-top:3px;font-size:12px}.section-title{letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin:24px 0 13px;font-size:11px;font-weight:850}.secondary-button{width:100%;height:48px;color:var(--ink);background:#fff;border:1px solid #d9e1dd;border-radius:12px;font-weight:800}.secondary-button.danger{color:#a53d2b;border-color:#f1d6d0;margin-top:10px}.success-box{color:#17603c;background:#ecf9f1;border:1px solid #ccebd8;border-radius:10px;margin:8px 0 14px;padding:12px 14px;font-size:13px}@media (max-width:850px){.login-page{background:var(--paper);grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh}.mobile-logo{display:flex}.chat-page{padding:0}.chat-app{border-radius:0;grid-template-columns:1fr}.sidebar{display:none}.mobile-sidebar-button{display:grid}.chat-header{padding:12px 14px}.messages{padding:18px 12px}.message-bubble{max-width:86%}.composer-wrap{padding:10px}}
