:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eaf2f8;background:#071421}*{box-sizing:border-box}body{margin:0;min-width:320px}.app-shell{min-height:100vh}.signin-card{width:min(440px,calc(100% - 32px));margin:10vh auto;padding:40px;border:1px solid #27384a;border-radius:24px;background:#0d1e2d;box-shadow:0 24px 80px #0007}.brand-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#ed1c24;color:#fff;font-size:27px;font-weight:800}.brand-mark.small{width:32px;height:32px;border-radius:10px;font-size:17px}.eyebrow{margin:20px 0 6px;color:#8ca3b8;font-size:11px;font-weight:800;letter-spacing:.12em}.signin-card h1,.chat-header h1{margin:0;font-size:30px;letter-spacing:-.04em}.intro,#channel-description{color:#a9bac8;line-height:1.5}form{display:grid;gap:16px;margin-top:28px}label{display:grid;gap:8px;color:#cfdae3;font-size:14px;font-weight:650}input,textarea{width:100%;border:1px solid #385067;border-radius:12px;background:#091724;color:#fff;font:inherit;padding:13px}input:focus,textarea:focus{outline:2px solid #ed1c24;outline-offset:2px}button{border:0;border-radius:12px;background:#ed1c24;color:#fff;cursor:pointer;font:inherit;font-weight:750;padding:13px 16px}button:hover{background:#ff3941}.form-error{min-height:20px;margin:0;color:#ff9ba0;font-size:14px}.messenger{display:grid;grid-template-columns:285px minmax(0,1fr);height:100vh}.sidebar{display:flex;flex-direction:column;padding:24px 16px;background:#0a1826;border-right:1px solid #28394b}.sidebar-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800}.presence{display:flex;align-items:center;gap:7px;margin:25px 8px 14px;color:#9eb2c3;font-size:13px}.dot{width:9px;height:9px;border-radius:50%;background:#8b4d4d}.dot.online{background:#33c481}.channel{display:flex;gap:10px;width:100%;margin:2px 0;padding:11px 9px;text-align:left;background:transparent;color:#aebfcd}.channel:hover,.channel.selected{background:#1a2e41;color:#fff}.channel span{color:#ed1c24;font-size:20px}.channel strong,.channel small{display:block}.channel small{overflow:hidden;color:#91a7b9;font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.live-note{margin:auto 8px 0;color:#7e96aa;font-size:12px;line-height:1.55}.chat{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;background:#071421}.chat-header{padding:27px 34px 20px;border-bottom:1px solid #1f3446}.chat-header .eyebrow{margin:0 0 5px}.chat-header h1{font-size:25px}.chat-header p:last-child{margin:6px 0 0;font-size:13px}.message-list{overflow-y:auto;padding:18px 34px}.message{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;padding:12px 0}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#28445b;color:#ddebfa;font-size:13px;font-weight:800}.bot .avatar{background:#5c2730}.message-meta{display:flex;align-items:center;gap:8px;font-size:14px}.message-meta time{color:#8298aa;font-size:11px}.bot-label{border-radius:5px;background:#662d35;color:#ffc5c8;padding:2px 5px;font-size:9px;font-weight:800;letter-spacing:.06em}.message p{margin:4px 0 0;color:#d7e1e8;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.empty{color:#91a7b9;text-align:center;margin-top:56px}.compose{display:flex;grid-template-columns:1fr auto;align-items:end;gap:10px;margin:0;padding:18px 34px;border-top:1px solid #1f3446;background:#0a1826}.compose textarea{resize:none;min-height:48px;max-height:130px}.compose button{height:48px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:700px){.messenger{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.sidebar{padding:10px 14px;border-right:0;border-bottom:1px solid #28394b}.sidebar-brand{display:none}.presence{position:absolute;right:8px;top:0;margin:13px;font-size:11px}.sidebar nav{display:flex;gap:5px;overflow-x:auto}.channel{min-width:max-content;padding:8px}.channel span,.channel small{display:none}.live-note{display:none}.chat-header{padding:18px}.message-list{padding:12px 18px}.compose{padding:12px 18px}.chat-header h1{font-size:22px}}
.splash{position:fixed;z-index:10;inset:0;display:grid;place-content:center;justify-items:center;background:radial-gradient(circle at 50% 35%,#15364d,#071421 55%);transition:opacity .35s,visibility .35s}.splash.leave{opacity:0;visibility:hidden}.splash img{width:112px;height:112px;border-radius:31px;box-shadow:0 18px 70px #0006}.splash h1{margin:5px 0;font-size:29px;letter-spacing:-.045em}.loading-line{width:166px;height:4px;margin-top:26px;overflow:hidden;border-radius:99px;background:#ffffff22}.loading-line span{display:block;width:45%;height:100%;border-radius:99px;background:#ed1c24;animation:load 1.2s ease-in-out infinite}@keyframes load{50%{transform:translateX(125%)}}.signin-hint{margin:0;color:#91a7b9;font-size:13px}.admin-link,.admin-page>a{color:#ff9ba0;font-size:13px;text-decoration:none}.admin-page{width:min(1000px,calc(100% - 32px));margin:8vh auto}.admin-page h1{margin:0;font-size:34px;letter-spacing:-.04em}.admin-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:24px;margin-top:28px}.admin-grid form,.admin-grid section{padding:24px;border:1px solid #27384a;border-radius:18px;background:#0d1e2d}.admin-grid h2{margin-top:0}.admin-grid select{padding:12px;border:1px solid #385067;border-radius:12px;background:#091724;color:#fff}.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #25394a}.user-row strong,.user-row span{display:block}.user-row span{margin-top:4px;color:#96aabd;font-size:13px}.user-row button{padding:8px 10px;font-size:12px}@media(max-width:700px){.splash h1{font-size:25px}.admin-grid{grid-template-columns:1fr}.admin-page{margin:32px auto}}
#code-field[hidden]{display:none}
.webhook-secret{display:grid;gap:8px;margin-top:8px;padding:13px;border:1px solid #ed1c24;border-radius:12px;background:#32151a;color:#ffe0e2}.webhook-secret code,.hint code{overflow-wrap:anywhere}.webhook-secret small,.hint{color:#9eb2c3;font-size:12px;line-height:1.5}
