:root{--bg: #f4f7f6;--subtle: #eef3f1;--chat: #eaf0ed;--paper: #fafcfb;--white: #ffffff;--border: #dce4e1;--border-strong: #c5d0cc;--ink: #13201c;--text2: #4f5e59;--muted: #7a8883;--teal: #0e7c6b;--teal-dark: #0a6457;--teal-ink: #064c41;--teal-tint: #e0f1ec;--teal-tint-2: #f1f8f5;--teal-line: #bfe0d6;--side: #0f2b26;--side-card: #163a33;--side-active: #1f4a41;--side-text: #a9c4bc;--side-border: #24493f;--side-icon-on: #7fe0c8;--side-badge: #5cc8b2;--side-badge-ink: #062a24;--red: #b42318;--red-tint: #fce9e7;--amber: #8a5a00;--amber-tint: #fcf0d6;--blue: #1f66c1;--online: #3ccb8f;--bubble-out: #ddefe9;--bubble-out-line: #c3e2d8;--font: "IBM Plex Sans", "IBM Plex Sans Devanagari", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius-control: 8px;--radius-card: 12px;--shadow-card: 0 1px 2px rgba(16, 32, 28, .1);--shadow-pop: 0 12px 28px rgba(15, 43, 38, .16);--focus-ring: 0 0 0 3px rgba(14, 124, 107, .14)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:var(--teal);text-decoration:none}a:hover{color:var(--teal-dark)}button{font:inherit}.mono{font-family:var(--mono);white-space:nowrap}.muted{color:var(--muted)}.text2{color:var(--text2)}.danger-text{color:var(--red)}.nowrap{white-space:nowrap}.truncate{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spacer{flex:1}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-control);border:1px solid transparent;font-size:14px;font-weight:500;white-space:nowrap;flex-shrink:0;cursor:pointer;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--teal);color:#fff;border-color:var(--teal)}.btn-primary:hover:not(:disabled){background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}.btn-secondary{background:#fff;color:var(--ink);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--subtle);color:var(--ink)}.btn-ghost{background:transparent;color:var(--teal)}.btn-ghost:hover:not(:disabled){background:var(--teal-tint-2)}.btn-danger{background:transparent;color:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red-tint);color:var(--red)}.btn-soft{background:var(--teal-tint);color:var(--teal-ink);border-color:var(--teal-tint)}.btn-soft:hover:not(:disabled){background:var(--teal-line);color:var(--teal-ink)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-md{height:36px;padding:0 14px;font-size:13px}.btn-lg{height:44px;font-size:15px}.btn-full{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:18px;border:none;background:transparent;color:var(--text2);cursor:pointer;flex-shrink:0}.icon-btn:hover:not(:disabled){background:var(--subtle)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.teal{color:var(--teal)}.icon-btn.teal:hover:not(:disabled){background:var(--teal-tint)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:13px;font-weight:500;color:var(--text2)}.field-label .req{color:var(--red)}.field-hint{font-size:12px;line-height:1.4;color:var(--muted)}.field-error{font-size:12px;line-height:1.4;color:var(--red)}.control{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-control)}.control:focus-within{border:1.5px solid var(--teal);box-shadow:var(--focus-ring);padding:0 11.5px}.control.invalid{border-color:var(--red)}.control-lg{height:44px}.control .prefix{display:flex;align-items:center;height:20px;padding-right:10px;border-right:1px solid var(--border);font-size:14px;color:var(--text2)}.control input,.control select,.control textarea{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:14px;color:var(--ink)}.control input::placeholder{color:var(--muted)}.control input.mono{font-family:var(--mono)}.control select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.control .select-arrow{pointer-events:none;color:var(--muted);display:flex}textarea.plain{width:100%;min-height:88px;padding:10px 12px;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-control);font-family:inherit;font-size:14px;line-height:1.5;color:var(--ink);resize:vertical;outline:none}textarea.plain:focus{border:1.5px solid var(--teal);box-shadow:var(--focus-ring)}.seg{display:inline-flex;align-self:flex-start;padding:3px;gap:2px;background:var(--subtle);border:1px solid var(--border);border-radius:10px}.seg.full{display:flex;align-self:stretch}.seg button{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border:none;border-radius:7px;background:transparent;color:var(--text2);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer}.seg.full button{flex:1}.seg button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:var(--shadow-card)}.seg .count{color:var(--muted);font-weight:400}.fchips{display:flex;flex-wrap:wrap;gap:8px}.fchip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;background:#fff;border:1px solid var(--border);color:var(--text2);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer}.fchip[aria-pressed=true]{background:var(--teal-tint);border-color:var(--teal-line);color:var(--teal-ink)}.fchip .count{color:var(--muted);font-weight:400}.fchip[aria-pressed=true] .count{color:var(--teal)}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:11px;font-size:12px;font-weight:500;white-space:nowrap}.chip .dot{width:6px;height:6px;border-radius:3px}.vchip{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:6px;background:var(--teal-tint);color:var(--teal-ink);font-size:13px;font-weight:500;white-space:nowrap}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-card)}.card-pad{padding:20px 24px}.card-title{font-size:16px;font-weight:600}.shell{display:flex;height:100%;background:var(--bg)}.sidebar{width:248px;flex-shrink:0;background:var(--side);display:flex;flex-direction:column;padding:20px 12px 16px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px}.sidebar-brand .name{font-size:15px;font-weight:600;color:#fff}.sidebar-brand .sub{font-size:12px;color:var(--side-text)}.logo-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;border:1.5px dashed var(--border-strong);color:var(--muted)}.logo-mark.on-dark{border-color:#4c7b70;color:#7fa89d}.sidebar-biz{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:10px 12px;border-radius:10px;background:var(--side-card);min-width:0}.sidebar-biz .name{font-size:13px;font-weight:500;color:#fff}.sidebar-biz .sub{font-size:12px;color:var(--side-text)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:8px;color:var(--side-text);font-size:14px;font-weight:500}.nav-item:hover{background:#ffffff0d;color:var(--side-text)}.nav-item.active{background:var(--side-active);color:#fff}.nav-item .label{flex:1}.nav-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--side-badge);color:var(--side-badge-ink);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.sender-card{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--side-border);border-radius:10px}.sender-card .cap{font-size:12px;color:var(--side-text)}.sender-card .name{font-size:13px;font-weight:500;color:#fff}.sender-card .sender-state{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.4;color:var(--side-text)}.sender-card .sender-state .dot{width:7px;height:7px;margin-top:5px;flex-shrink:0;border-radius:4px;background:var(--online)}.sender-card .sender-state .dot.warn{background:#d9a21b}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:68px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;background:#fff;border-bottom:1px solid var(--border)}.topbar h1{font-size:22px;font-weight:600;letter-spacing:-.01em}.topbar .sub{font-size:14px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:10px}.back-title .crumb{font-size:12px;color:var(--muted)}.back-title h1{font-size:20px;font-weight:600;letter-spacing:-.01em}.page{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;padding:24px 32px;overflow:auto}.page.flush{padding:0;overflow:hidden}.table-head,.table-row{display:grid;align-items:center;gap:16px;padding:0 16px}.table-head{height:40px;background:var(--paper);border-radius:12px 12px 0 0}.table-head span{font-size:12px;font-weight:500;color:var(--muted)}.table-row{border-top:1px solid var(--border)}.table-row.clickable{cursor:pointer}.table-row.clickable:hover,.table-row.selected{background:var(--teal-tint-2)}.group-head{height:34px;display:flex;align-items:center;padding:0 20px;background:var(--subtle);border-top:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text2)}.select-bar{height:52px;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--teal-tint);border-radius:12px 12px 0 0}.select-bar .label{font-size:14px;font-weight:600;color:var(--teal-ink)}.pager{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}.pager .pages{display:flex;align-items:center;gap:4px;color:var(--text2)}.pager .pages .n{min-width:32px;height:32px;padding:0 6px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text2);font-size:13px;cursor:pointer}.pager .pages .n[aria-current=page]{background:var(--teal-tint);color:var(--teal-ink);font-weight:600}.checkbox{width:18px;height:18px;flex-shrink:0;accent-color:var(--teal);cursor:pointer}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;font-weight:600}.kv{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--border);font-size:14px}.kv:first-of-type{border-top:none}.kv .k{color:var(--muted);white-space:nowrap}.kv .v{text-align:right}.chat{background:var(--chat)}.chat-scroll{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:24px 40px;overflow-y:auto}.day-sep{display:flex;justify-content:center;padding:4px 0}.day-sep span{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;background:#fff;border:1px solid var(--border);font-size:12px;font-weight:500;color:var(--text2)}.bubble-row{display:flex}.bubble-row.out{justify-content:flex-end}.bubble{max-width:520px;display:flex;flex-direction:column;gap:6px;padding:9px 12px 7px;background:#fff;border:1px solid var(--border);border-radius:12px 12px 12px 4px}.bubble.out{background:var(--bubble-out);border-color:var(--bubble-out-line);border-bottom-left-radius:12px;border-bottom-right-radius:4px}.bubble .tpl{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;color:var(--teal-ink)}.bubble .text{font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.bubble .meta{align-self:flex-end;display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.locked-footer{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:14px 24px;background:#fff;border-top:1px solid var(--border)}.locked-footer .note{flex:1;font-size:14px;color:var(--text2)}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:56px 24px;text-align:center}.state .badge{width:64px;height:64px;border-radius:32px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center}.state .badge.error{background:var(--red-tint);color:var(--red)}.state .title{font-size:17px;font-weight:600}.state .body{font-size:14px;color:var(--muted);max-width:420px;line-height:1.55}.skeleton{background:linear-gradient(90deg,var(--subtle) 25%,#e6ecea 37%,var(--subtle) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.inline-error{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-control);background:var(--red-tint);color:var(--red);font-size:13px;line-height:1.45}.inline-note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2)}.inline-ok{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--teal-ink)}.toast{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:10px;max-width:420px;padding:12px 16px;border-radius:10px;background:var(--side);color:#fff;font-size:14px;box-shadow:var(--shadow-pop);animation:rise .15s ease}.toast.error{background:var(--red)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f2b2652;animation:fade .15s ease}.dialog{width:420px;max-width:100%;display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-pop)}@keyframes fade{0%{opacity:0}to{opacity:1}}.access{position:relative;min-height:100%;background:var(--bg);overflow:auto}.access .band{position:absolute;inset:0 0 auto 0;height:380px;background:var(--side)}.access .inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:36px;padding:112px 24px 64px}.access .brand{display:flex;align-items:center;gap:12px}.access .brand .name{font-size:20px;font-weight:600;color:#fff}.access .brand .sub{font-size:14px;color:var(--side-text)}.access .card{width:440px;max-width:100%;display:flex;flex-direction:column;gap:24px;padding:40px;border-radius:16px;box-shadow:0 16px 40px #0f2b261f}.access .lock{width:44px;height:44px;border-radius:12px;background:var(--teal-tint);color:var(--teal);display:flex;align-items:center;justify-content:center}.access h1{margin-top:6px;font-size:24px;font-weight:600;letter-spacing:-.015em}.access p.lede{font-size:14px;line-height:1.55;color:var(--text2)}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start}.step-badge{width:26px;height:26px;border-radius:13px;background:var(--teal-tint);color:var(--teal-ink);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.person-chip{height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 4px;border-radius:18px;background:#fff;border:1px solid var(--border-strong);font-size:14px;font-weight:500;white-space:nowrap}.person-chip button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer}.person-chip button:hover{background:var(--subtle);color:var(--ink)}.typeahead{position:relative;width:280px}.typeahead-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-pop);padding:4px}.typeahead-list button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.typeahead-list button:hover:not(:disabled){background:var(--teal-tint-2)}.typeahead-list button:disabled{opacity:.5;cursor:default}.typeahead-empty{padding:10px;font-size:13px;color:var(--muted)}.radio-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;border:1px solid var(--border-strong);background:#fff;cursor:pointer;text-align:left}.radio-card[aria-checked=true]{border:1.5px solid var(--teal);background:var(--teal-tint-2)}.radio-card .knob{width:18px;height:18px;margin-top:1px;flex-shrink:0;border-radius:9px;border:1.5px solid var(--border-strong);background:#fff}.radio-card[aria-checked=true] .knob{border:5px solid var(--teal)}.radio-card .t{font-size:14px;font-weight:600}.radio-card .d{font-size:13px;line-height:1.45;color:var(--text2)}.next-step{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text2)}.next-step .n{width:24px;height:24px;flex-shrink:0;border-radius:12px;background:var(--teal-tint);color:var(--teal-ink);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.editor{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-control)}.editor:focus-within{border:1.5px solid var(--teal);box-shadow:var(--focus-ring)}.editor textarea{min-height:132px;padding:12px 14px;border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;line-height:1.7;color:var(--ink);resize:vertical}.editor-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--border);background:var(--paper);border-radius:0 0 8px 8px}.var-row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.var-row .pos{font-family:var(--mono);font-size:12px;color:var(--muted)}.menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:260px;max-height:300px;overflow:auto;padding:4px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-pop)}.menu button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.menu button:hover{background:var(--teal-tint-2)}.menu button .l{font-size:14px}.menu button .e{font-size:12px;color:var(--muted)}.inbox{flex:1;min-height:0;display:flex}.convo-list{width:380px;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);overflow:hidden}.convo-list .filters{display:flex;flex-direction:column;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.convo-scroll{flex:1;min-height:0;overflow-y:auto}.convo-item{display:flex;gap:12px;width:100%;padding:14px 16px;border:none;border-bottom:1px solid var(--border);background:#fff;text-align:left;cursor:pointer}.convo-item:hover{background:var(--teal-tint-2)}.convo-item.selected{background:var(--teal-tint-2);box-shadow:inset 3px 0 0 var(--teal)}.convo-item .top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.convo-item .n{font-size:14px;font-weight:500}.convo-item.unread .n{font-weight:600}.convo-item .t{font-size:12px;color:var(--muted);white-space:nowrap}.convo-item.unread .t{color:var(--teal);font-weight:600}.convo-item .msg{font-size:13px;color:var(--muted)}.convo-item.unread .msg{color:var(--ink)}.unread-badge{min-width:20px;height:20px;padding:0 6px;flex-shrink:0;border-radius:10px;background:var(--teal);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.thread-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--chat)}.thread-head{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid var(--border)}.form-section{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;padding:26px 28px;border-top:1px solid var(--border)}.form-section:first-child{border-top:none}.form-section .lead .t{font-size:15px;font-weight:600}.form-section .lead .d{font-size:13px;line-height:1.5;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid .span-all{grid-column:1 / -1}@media (max-width: 1180px){.two-col{grid-template-columns:minmax(0,1fr)}.form-section{grid-template-columns:minmax(0,1fr);gap:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
