:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef2f7;color:#15202b;--ink: #15202b;--muted: #607085;--line: #d9e2ec;--surface: #ffffff;--surface-soft: #f8fafc;--primary: #0f766e;--primary-strong: #115e59;--green: #059669;--blue: #2563eb;--red: #dc2626;--amber: #b45309}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:0;overflow:hidden}body{margin:0;background:linear-gradient(135deg,rgba(15,118,110,.12),transparent 38%),linear-gradient(315deg,rgba(37,99,235,.1),transparent 35%),#eef2f7}button,input,textarea{font:inherit}button{border:0;border-radius:8px;background:var(--primary);color:#fff;padding:.82rem 1rem;font-weight:800;cursor:pointer}button:hover{background:var(--primary-strong)}input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:.85rem 1rem;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e24}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(440px,100%);background:#ffffffe0;border:1px solid rgba(255,255,255,.8);border-radius:14px;padding:2rem;box-shadow:0 24px 70px #0f172a29;display:grid;gap:1rem}.brand-mark{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900;letter-spacing:0}.brand-mark.small{width:48px;height:48px;border-radius:12px}.app-shell{height:100dvh;min-height:0;display:grid;grid-template-columns:290px 1fr;overflow:hidden}.sidebar{min-height:0;overflow:hidden;background:#ffffffdb;border-left:1px solid rgba(217,226,236,.9);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem}.sidebar h2{margin:1rem 0 .35rem}.sidebar nav{display:grid;gap:.65rem}.sidebar nav button{background:transparent;color:var(--muted);text-align:right}.sidebar nav button.active,.sidebar nav button:hover{background:#e6fffb;color:var(--primary-strong)}.connection{display:inline-flex;padding:.3rem .65rem;border-radius:999px;font-size:.83rem;font-weight:800}.connection.online{background:#0596691f;color:var(--green)}.connection.offline{background:#dc26261f;color:var(--red)}.connection.connecting{background:#b453091f;color:var(--amber)}.content{padding:1.5rem;display:grid;grid-template-rows:auto auto 1fr;align-content:start;gap:1.2rem;min-width:0;min-height:0;overflow:hidden}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.metric,.panel{background:#ffffffe6;border:1px solid rgba(255,255,255,.85);border-radius:12px;box-shadow:0 18px 50px #0f172a14}.metric{padding:1rem}.metric span{color:var(--muted);font-weight:700}.metric strong{display:block;font-size:2rem;margin-top:.35rem}.panel{padding:1.25rem;min-height:0;overflow:auto}.panel.narrow{max-width:820px}.panel-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.panel h1,.panel h2,.panel p{margin-top:0}.panel p{color:var(--muted)}.message-list{display:grid;gap:.75rem}.message-row{border:1px solid var(--line);border-radius:10px;padding:1rem;background:var(--surface)}.message-row.received{border-right:4px solid var(--green)}.message-row.sent{border-right:4px solid var(--blue)}.message-row>div,.message-row footer{display:flex;justify-content:space-between;gap:1rem;align-items:center}.message-row p{margin:.8rem 0;color:var(--ink)}.message-row footer{color:var(--muted);font-size:.9rem}.pill{display:inline-flex;padding:.25rem .6rem;border-radius:999px;background:#e6fffb;color:var(--primary-strong);font-weight:800;margin-left:.5rem}.form{display:grid;gap:1rem}.form label,.login-card label{display:grid;gap:.45rem;color:var(--muted);font-weight:800}.actions,.import-box{margin-top:1rem;display:grid;gap:.75rem}.import-box{border-top:1px solid var(--line);padding-top:1rem}.alert{padding:1rem;border-radius:10px;font-weight:800}.alert.warning{background:#b453091f;color:var(--amber)}.alert.danger{background:#dc26261f;color:var(--red)}.empty{padding:3rem;text-align:center;color:var(--muted)}.empty.small{padding:1.5rem}.conversation-shell{height:100%;min-height:0;display:grid;grid-template-columns:minmax(310px,370px) minmax(0,1fr);background:#ffffffe6;border:1px solid rgba(255,255,255,.85);border-radius:14px;box-shadow:0 18px 50px #0f172a14;overflow:hidden}.conversation-list{border-left:1px solid var(--line);background:#f8fafce6;display:grid;grid-template-rows:auto auto 1fr;min-height:0}.conversation-list-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1rem}.conversation-list-head h1,.conversation-list-head p{margin:0}.conversation-list-head p{color:var(--muted);margin-top:.25rem}.live-dot{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border-radius:999px;background:#0596691f;color:var(--green);font-size:.82rem;font-weight:900}.live-dot:before{content:"";width:.48rem;height:.48rem;border-radius:999px;background:currentColor}.conversation-search{width:calc(100% - 2rem);margin:0 1rem 1rem;background:#fff}.conversation-items{overflow-y:auto;min-height:0;padding:0 .65rem 1rem}.conversation-item{width:100%;display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;text-align:right;background:transparent;color:var(--ink);border-radius:12px;padding:.85rem}.conversation-item:hover,.conversation-item.active{background:#fff;box-shadow:0 10px 25px #0f172a14}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#0f766e,#2563eb);color:#fff;font-weight:900;letter-spacing:0}.conversation-summary{min-width:0;display:grid;gap:.22rem}.conversation-summary>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.conversation-summary b,.conversation-summary p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-summary p{color:var(--muted);margin:0}.conversation-summary time,.conversation-summary span{color:#8a98a8;font-size:.78rem}.thread{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 20% 20%,rgba(15,118,110,.08),transparent 24%),linear-gradient(180deg,#fff,#f8fafc)}.empty-thread{grid-template-rows:1fr;place-items:center}.thread-header{display:flex;align-items:center;gap:.9rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.thread-header h2,.thread-header p{margin:0}.thread-header p{color:var(--muted);margin-top:.22rem}.thread-body{min-height:0;overflow-y:auto;scroll-behavior:smooth;padding:1.1rem;display:flex;flex-direction:column;gap:.55rem}.date-divider{align-self:center;padding:.32rem .75rem;border-radius:999px;background:#6070851f;color:var(--muted);font-size:.8rem;font-weight:800;margin:.4rem 0}.bubble-row{display:flex}.bubble-row.incoming{justify-content:flex-start}.bubble-row.outgoing{justify-content:flex-end}.bubble{max-width:min(680px,78%);padding:.78rem .92rem .55rem;border-radius:16px;box-shadow:0 12px 28px #0f172a14}.bubble-row.incoming .bubble{background:#fff;border-bottom-right-radius:5px}.bubble-row.outgoing .bubble{background:#d9f99d;border-bottom-left-radius:5px}.bubble p{margin:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.bubble footer{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.35rem;color:#15202b94;font-size:.75rem}.reply-bar{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:1rem;border-top:1px solid var(--line);background:#ffffffe6}.reply-bar textarea{min-height:46px;max-height:140px;resize:vertical;border-radius:12px}.reply-bar button{align-self:end;min-width:92px}.reply-bar button:disabled{opacity:.55;cursor:not-allowed}.sync-log{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:1rem;display:grid;gap:.9rem}.sync-log-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.sync-log-head h2,.sync-log-head p,.sync-log h3{margin:0}.sync-log-head p{color:var(--muted);margin-top:.25rem}.sync-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.sync-summary .metric{box-shadow:none;border:1px solid var(--line)}.log-list{display:grid;gap:.55rem;max-height:280px;overflow:auto;padding-left:.2rem}.log-row{display:grid;gap:.35rem;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.75rem}.log-row>div{display:flex;justify-content:space-between;gap:.75rem}.log-row p{margin:0;color:var(--muted);overflow-wrap:anywhere}.log-row span,.log-row time{color:var(--muted);font-size:.8rem}@media(max-width:860px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.sidebar{z-index:2;border-left:0;border-bottom:1px solid var(--line);padding:.85rem;gap:.75rem}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar nav button{text-align:center;padding-inline:.45rem}.metric-grid{grid-template-columns:1fr}.conversation-shell{height:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(150px,34%) minmax(0,1fr)}.conversation-list{max-height:none;min-height:0;border-left:0;border-bottom:1px solid var(--line)}.thread{min-height:0}.bubble{max-width:88%}.reply-bar,.sync-log-head,.sync-summary{grid-template-columns:1fr}.sync-log-head{display:grid}}
