*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202331;background:#f4f5f8}button,input,textarea,select{font:inherit}a{color:inherit}.hidden{display:none!important}:root{--brand:#615bff;--brand-dark:#151827;--border:#e6e8ef;--muted:#7d8293;--surface:#fff;--soft:#f7f8fb}.app-shell{height:100vh;display:grid;grid-template-columns:238px 360px minmax(420px,1fr);overflow:hidden}.sidebar{background:var(--brand-dark);color:#fff;padding:22px 14px 16px;display:flex;flex-direction:column;min-height:0}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 22px}.brand strong{display:block;font-size:15px;line-height:1.2}.brand small{display:block;color:#aeb3c3;margin-top:3px;font-size:11px}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--brand);display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:-.5px;flex:0 0 auto}.brand-mark.large{width:52px;height:52px;border-radius:15px;font-size:18px}.brand-logo{max-width:42px;max-height:42px;object-fit:contain}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.nav-item{border:0;background:transparent;color:#d7dae4;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:7px;text-align:left;padding:9px 10px;border-radius:10px;cursor:pointer}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:#fff}.nav-item>span:nth-child(2){min-width:0}.nav-item em{font-style:normal;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.nav-item small{display:block;font-size:10px;color:#9298aa;margin-top:2px}.nav-item b{font-size:10px;background:var(--brand);min-width:19px;height:19px;border-radius:10px;display:grid;place-items:center;padding:0 5px}.nav-icon{font-size:17px;text-align:center}.channel-badge{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--channel),white 10%);font-size:9px;font-weight:800;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:12px 6px 0;display:grid;gap:4px}.sidebar-bottom a{text-decoration:none;font-size:12px;color:#b9becd;padding:7px 5px}.sidebar-bottom a:hover{color:#fff}.chat-list-panel{background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.chat-list-panel>header{height:78px;padding:19px 18px 13px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border)}h1,h2,p{margin-top:0}.chat-list-panel h2{margin:0;font-size:19px}.chat-list-panel header small{color:var(--muted);font-size:11px}.icon-btn{border:1px solid var(--border);background:#fff;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:18px;color:#606577}.search{padding:12px 14px;border-bottom:1px solid var(--border)}.search input{width:100%;border:1px solid var(--border);background:#f8f9fb;border-radius:10px;padding:10px 12px;outline:none;font-size:12px}.search input:focus,input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.conversation-list{overflow:auto;flex:1}.conversation{width:100%;border:0;border-bottom:1px solid #f0f1f4;background:#fff;display:flex;gap:11px;padding:13px 14px;text-align:left;cursor:pointer}.conversation:hover,.conversation.active{background:#f8f8ff}.avatar{width:39px;height:39px;border-radius:50%;background:#eef0f5;color:#454958;display:grid;place-items:center;font-weight:700;flex:0 0 auto}.conv-body{min-width:0;flex:1}.conv-top,.conv-bottom{display:flex;align-items:center;gap:8px}.conv-top strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-top time{margin-left:auto;font-size:9px;color:#999ead}.conv-bottom{margin-top:5px;position:relative}.conv-bottom p{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#858a99;font-size:11px;flex:1}.account-pill{display:none}.badge{background:var(--brand);color:#fff;font-size:9px;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px}.chat-panel{background:#f7f8fa;min-width:0;position:relative}.chat-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#747989}.chat-empty-icon{width:62px;height:62px;border-radius:19px;background:#fff;box-shadow:0 12px 40px rgba(33,37,54,.08);display:grid;place-items:center;font-size:26px;margin-bottom:16px;color:var(--brand)}.chat-empty h2{margin:0 0 7px;color:#303443}.chat-empty p{max-width:360px;font-size:13px}.chat-view{height:100%;display:grid;grid-template-rows:78px 1fr auto auto}.chat-header{background:#fff;border-bottom:1px solid var(--border);padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.chat-header h2{margin:0 0 5px;font-size:16px}.chat-meta{font-size:10px;color:var(--muted)}.messages{overflow:auto;padding:25px 5%;display:flex;flex-direction:column;gap:8px}.message-row{display:flex}.message-row.outbound{justify-content:flex-end}.bubble{max-width:min(70%,640px);background:#fff;border-radius:4px 15px 15px 15px;padding:10px 12px;box-shadow:0 1px 2px rgba(20,25,40,.06);font-size:13px;line-height:1.45}.outbound .bubble{background:color-mix(in srgb,var(--brand) 10%,white);border-radius:15px 4px 15px 15px}.bubble small{display:block;text-align:right;color:#9499a7;font-size:8px;margin-top:5px}.composer{background:#fff;border-top:1px solid var(--border);padding:12px 18px;display:flex;align-items:flex-end;gap:10px}.composer textarea{flex:1;resize:none;min-height:42px;max-height:120px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none}.service-hint{background:#fff;color:#8c91a0;font-size:9px;padding:0 19px 10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:10px 15px;font-weight:650;font-size:12px;text-decoration:none;cursor:pointer}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{filter:brightness(.95)}.btn.subtle{background:#f1f2f6;color:#626777}.btn:disabled{opacity:.55;cursor:not-allowed}.admin-page{background:#f5f6f8;min-height:100vh}.admin-top{min-height:85px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:25px;padding:18px max(25px,calc((100% - 1180px)/2))}.admin-top>a{text-decoration:none;font-size:12px;color:#747989}.admin-top h1{margin:0;font-size:20px}.admin-top p{margin:4px 0 0;color:var(--muted);font-size:11px}.admin-wrap{max-width:1180px;margin:25px auto;padding:0 22px 50px}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 2px 8px rgba(24,29,48,.025)}.card h2{font-size:16px;margin-bottom:18px}.card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.card-title p{color:var(--muted);font-size:11px;margin-top:-10px}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.grid-form label{font-size:11px;font-weight:650;color:#505565}.grid-form input,.grid-form textarea,.grid-form select{width:100%;margin-top:6px;border:1px solid #dfe2e9;background:#fff;border-radius:9px;padding:10px 11px;outline:none;color:#222736}.grid-form label small{display:block;color:#999dab;font-weight:400;margin-top:4px}.grid-form .full{grid-column:1/-1}.check-row{display:flex!important;gap:10px!important;align-items:flex-start!important}.check-row input{width:auto!important;margin-top:2px!important}.check-row strong,.check-row small{display:block}.check-row small{color:var(--muted);margin-top:3px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #eff0f3}th{color:#8c91a0;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.actions{white-space:nowrap}.actions a,.link-btn{color:var(--brand);text-decoration:none;background:none;border:0;padding:0;margin-right:10px;font:inherit;cursor:pointer}.actions form{display:inline}.alert,.success{border-radius:10px;padding:11px 13px;margin-bottom:16px;font-size:12px}.alert{background:#fff0f1;color:#a53340;border:1px solid #ffd7dc}.success{background:#eefbf5;color:#267a56;border:1px solid #cdeedd}.muted{color:var(--muted)}.channel-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.channel-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px;display:flex;align-items:center;gap:10px}.channel-card>span{width:34px;height:34px;border-radius:10px;background:var(--channel);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.channel-card strong,.channel-card small{display:block}.channel-card strong{font-size:12px}.channel-card small{font-size:9px;color:var(--muted);margin-top:3px}.channel-card.soon{opacity:.58}.channel-chip{display:inline-flex;align-items:center;gap:6px}.channel-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--channel)}.brand-preview img{max-width:150px;max-height:48px}.sticky-save{position:sticky;bottom:20px;display:flex;justify-content:flex-end}.login-page{min-height:100vh;background:#f4f5f8}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(360px,46%) 1fr}.login-brand-panel{background:var(--brand-dark);color:#fff;padding:48px clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-product{display:flex;align-items:center;gap:12px;font-weight:750}.login-logo{max-width:150px;max-height:55px;object-fit:contain}.eyebrow{display:inline-block;font-size:9px;letter-spacing:.17em;font-weight:800;color:color-mix(in srgb,var(--brand),white 35%);margin-bottom:15px}.login-brand-panel h1{font-size:clamp(36px,5vw,64px);letter-spacing:-.04em;line-height:.98;max-width:600px;margin-bottom:22px}.login-brand-panel p{font-size:15px;line-height:1.65;max-width:560px;color:#bbc0cf}.login-brand-panel>small{color:#858b9d}.login-form-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(390px,100%);background:#fff;border:1px solid var(--border);border-radius:16px;padding:30px;box-shadow:0 24px 70px rgba(31,36,55,.08)}.login-card h2{font-size:22px;margin-bottom:5px}.login-card .muted{font-size:12px;margin-bottom:22px}.login-card label{display:block;font-size:11px;font-weight:650;margin-bottom:14px}.login-card input{width:100%;border:1px solid #dfe2e9;border-radius:10px;padding:12px;margin-top:6px;outline:none}.full-btn{width:100%;margin-top:3px}.login-help{text-align:center;font-size:10px;color:var(--muted);margin:18px 0 0}.install-page{background:#f4f5f8;min-height:100vh}.install-wrap{max-width:820px;margin:0 auto;padding:50px 20px 80px}.install-head{display:flex;align-items:center;gap:16px;margin-bottom:25px}.install-head h1{margin:2px 0 5px;font-size:28px}.install-head p{color:var(--muted);font-size:12px;margin:0}.install-button{width:100%;padding:13px}.install-success{text-align:center;padding:45px}.success-icon{width:60px;height:60px;background:#e9faf2;color:#28835c;display:grid;place-items:center;border-radius:50%;font-size:27px;margin:0 auto 15px}@media(max-width:1000px){.app-shell{grid-template-columns:200px 320px minmax(380px,1fr)}.channel-overview{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell{grid-template-columns:72px 1fr}.sidebar{padding:15px 8px}.brand>div:last-child,.nav-item>span:nth-child(2),.sidebar-bottom a{font-size:0}.brand{padding:0 8px 16px}.nav-item{grid-template-columns:32px auto;padding:9px 8px}.nav-item b{position:absolute;margin-left:25px;margin-top:-18px}.chat-panel{display:none}.grid-form{grid-template-columns:1fr}.grid-form .full{grid-column:auto}.channel-overview{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh}.admin-top{padding:15px 18px}.admin-wrap{padding:0 14px}.card{padding:16px}}
/* v0.2.1 · Webhook Monitor */
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:#eef0f5;color:#616778}.status-pill.ok{background:#e9f8ef;color:#16834a}.status-pill.bad{background:#fff0f1;color:#c53943}.status-pill.neutral{background:#f1f3f7;color:#687080}.debug-kv{display:grid;gap:12px;margin-top:14px}.debug-kv>div{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;padding:12px 14px;background:#f7f8fb;border:1px solid #e7e9f0;border-radius:12px}.debug-kv span{font-size:12px;font-weight:700;color:#777f92}.debug-kv code{overflow-wrap:anywhere}.debug-table small{display:block;color:#8a90a0;margin-top:4px}.debug-table details{max-width:460px}.debug-table summary{cursor:pointer;color:var(--brand);font-weight:700}.debug-table pre{max-width:520px;max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#10131d;color:#e8eaf0;padding:14px;border-radius:10px;font-size:11px;line-height:1.45}.admin-top>.btn{margin-left:auto}
@media(max-width:760px){.debug-kv>div{grid-template-columns:1fr}.admin-top>.btn{margin-left:0}}

/* v0.3 · Meta Embedded Signup */
.header-actions{display:flex;gap:10px;align-items:center;margin-left:auto}.narrow-admin{max-width:860px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.status-pill.ok{background:#e8f8ef;color:#167a45}.status-pill.warn{background:#fff6dc;color:#946200}.integration-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.integration-checks>div,.notice-list>div{border:1px solid #e5e7ef;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:5px}.integration-checks span,.notice-list span{color:#777b8f;font-size:13px}.notice-list{display:grid;gap:10px;margin-top:16px}.notice-list code{word-break:break-all}.connect-banner{display:flex;justify-content:space-between;gap:30px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f3f1ff 100%)}.connect-banner>div{max-width:760px}.eyebrow{display:inline-block;font-size:11px;letter-spacing:.1em;font-weight:800;color:var(--brand);margin-bottom:8px}.big-btn{padding:13px 20px;white-space:nowrap}.connect-card{text-align:center;padding:40px}.connect-card>p{max-width:650px;margin:10px auto;color:#777b8f;line-height:1.6}.connect-card label{text-align:left}.connect-icon{width:64px;height:64px;border-radius:18px;background:#25D366;color:white;font-weight:900;display:grid;place-items:center;margin:0 auto 16px;font-size:22px}.connect-progress{margin:22px auto 0;max-width:520px;padding:18px;border:1px solid #e5e7ef;border-radius:14px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;text-align:left}.connect-progress small{grid-column:2;color:#777b8f}.spinner{width:20px;height:20px;border:3px solid #ddd;border-top-color:var(--brand);border-radius:50%;animation:mhspin .8s linear infinite;grid-row:1/3}@keyframes mhspin{to{transform:rotate(360deg)}}.result-box{margin-top:20px;text-align:left}.onboarding-steps{display:grid;gap:12px;margin-top:15px}.onboarding-steps>div{display:flex;align-items:flex-start;gap:14px;padding:14px;border:1px solid #e5e7ef;border-radius:14px}.onboarding-steps b{width:28px;height:28px;border-radius:50%;background:#f0efff;color:var(--brand);display:grid;place-items:center;flex:0 0 auto}.onboarding-steps span{display:flex;flex-direction:column}.onboarding-steps small{color:#777b8f;margin-top:3px}@media(max-width:780px){.integration-checks{grid-template-columns:1fr}.connect-banner{align-items:flex-start;flex-direction:column}.header-actions{display:none}}

/* v0.3.1 · Message lifecycle & templates */
.msg-status{font-weight:800;margin-left:3px}.status-read{color:var(--brand)}.status-delivered{color:#5f6576}.status-failed{color:#c63e49}.message-failed{border:1px solid #f2c8cd;background:#fff5f6!important}.template-composer{background:#fff;border-top:1px solid var(--border);padding:12px 18px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,360px) auto;gap:12px;align-items:center}.template-composer strong,.template-composer small{display:block}.template-composer strong{font-size:12px}.template-composer small{font-size:10px;color:var(--muted);margin-top:3px}.template-composer select{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fff;min-width:0}.meta-roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.meta-roadmap>div{border:1px solid var(--border);border-radius:13px;padding:13px;background:#fafbfc}.meta-roadmap strong,.meta-roadmap span{display:block}.meta-roadmap strong{font-size:11px;margin-bottom:5px}.meta-roadmap span{font-size:11px;color:var(--muted)}.meta-roadmap .approved{background:#eefaf3;border-color:#d4efdf}.meta-roadmap .pending{background:#fff9e9;border-color:#f4e4b3}.meta-roadmap .rejected{background:#fff1f2;border-color:#f3d0d4}@media(max-width:900px){.template-composer{grid-template-columns:1fr}.meta-roadmap{grid-template-columns:1fr 1fr}}@media(max-width:600px){.meta-roadmap{grid-template-columns:1fr}}
