:root{--ink: #08221f;--moss: #0f3d36;--sea: #1b7a6a;--mint: #7dcebc;--foam: #e4f4ef;--paper: #f3faf7;--line: rgba(8, 34, 31, .12);--warn: #c45a3a;--font: "Manrope", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#1a5c52 0%,transparent 55%),radial-gradient(900px 500px at 110% 10%,#0b2e2a 0%,transparent 50%),linear-gradient(165deg,#071c1a,#0d332e 42%,#123f38)}button,input,textarea,select{font:inherit}a{color:inherit}.login-screen{min-height:100vh;display:grid;place-items:center;padding:32px 20px;animation:rise .7s ease both}.login-panel{width:min(440px,100%);color:var(--foam)}.brand-mark{display:flex;align-items:baseline;gap:10px;margin-bottom:28px}.brand-mark strong{font-size:42px;letter-spacing:-.06em;font-weight:800}.brand-mark span{color:var(--mint);font-weight:600}.login-panel h1{margin:0 0 10px;font-size:28px;letter-spacing:-.03em}.login-panel p{margin:0 0 28px;color:#e4f4efb8;max-width:34ch}.login-panel form{display:grid;gap:14px}label{display:grid;gap:6px;font-size:13px;font-weight:600}input,textarea,select{width:100%;border:1px solid var(--line);background:#ffffffeb;color:var(--ink);border-radius:10px;padding:12px 14px}textarea{min-height:88px;resize:vertical}.btn{border:0;border-radius:10px;padding:12px 16px;background:var(--mint);color:var(--ink);font-weight:700;cursor:pointer}.btn:disabled{opacity:.6;cursor:wait}.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor}.btn.danger{background:var(--warn);color:#fff}.facebook-btn{width:100%;margin-bottom:18px;background:#1877f2;color:#fff}.login-divider{display:flex;align-items:center;gap:12px;margin:6px 0 16px;color:#e4f4ef9e;font-size:12px;font-weight:700;text-transform:uppercase}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e4f4ef2e}.error{color:#ffb4a2;font-size:14px}.app{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.rail{padding:28px 18px;color:var(--foam);display:flex;flex-direction:column;gap:28px;border-right:1px solid rgba(255,255,255,.08)}.rail nav{display:grid;gap:8px}.rail a{text-decoration:none;padding:10px 12px;border-radius:10px;color:#e4f4efc7}.rail a.active,.rail a:hover{background:#7dcebc29;color:var(--foam)}.rail .who{margin-top:auto;display:grid;gap:8px;font-size:13px;color:#e4f4efb3}.stage{background:linear-gradient(180deg,#f3faf7f5,#eef7f3);margin:12px 12px 12px 0;border-radius:22px;min-height:calc(100vh - 24px);padding:28px 32px;animation:fade .45s ease both}.stage h1{margin:0 0 6px;font-size:32px;letter-spacing:-.04em}.lede{margin:0 0 24px;color:#08221f9e}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.grid{display:grid;gap:12px}.client-list{display:grid;gap:2px}.client-list a,.conv{display:grid;gap:4px;padding:14px 8px;text-decoration:none;border-bottom:1px solid var(--line);color:inherit;width:100%;background:none;border-top:0;border-left:0;border-right:0;text-align:left;cursor:pointer}.client-list a:hover,.conv:hover,.conv.active{background:#1b7a6a14}.muted{color:#08221f8c;font-size:13px}.badge{display:inline-flex;min-width:22px;justify-content:center;background:var(--sea);color:#fff;border-radius:8px;padding:1px 7px;font-size:12px;font-weight:700}.inbox{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 180px);border-top:1px solid var(--line)}.thread{display:flex;flex-direction:column;border-left:1px solid var(--line);min-height:520px}.messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:18px 8px 18px 22px}.bubble{max-width:72%;padding:10px 14px;border-radius:16px;animation:fade .25s ease both}.bubble.in{background:#fff;align-self:flex-start}.bubble.out{background:#c8efe4;align-self:flex-end}.composer{display:flex;gap:8px;padding:12px 0 0 22px}.composer input{flex:1}.page-block{padding:18px 0;border-top:1px solid var(--line)}.picker{display:grid;gap:8px;margin:12px 0 20px}.picker button{text-align:left}.empty{padding:40px 0;color:#08221f80}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(max-width:860px){.app{grid-template-columns:1fr}.rail{flex-direction:row;align-items:center;padding:14px 16px}.rail nav{grid-auto-flow:column}.rail .who{margin:0 0 0 auto}.stage{margin:0 8px 8px;padding:20px}.inbox{grid-template-columns:1fr}.thread{border-left:0;border-top:1px solid var(--line)}}
