:root{--ink:#152e36;--muted:#74838a;--line:#e5eaec;--teal:#168575;--teal-soft:#e9f6f2;--navy:#163841;--bg:#f5f7f8;--white:#fff;--radius:13px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #82cabb;outline-offset:3px}[hidden]{display:none!important}svg{width:20px;height:20px;flex-shrink:0}.workspace{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 19px 18px;z-index:20;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 33px;font-size:16px;font-weight:750;letter-spacing:.2px;white-space:nowrap}.brand small{display:block;font-size:9px;letter-spacing:2.2px;color:#91a0a5;margin-top:2px;font-weight:600}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--navy);border-radius:11px;box-shadow:0 4px 8px #16384113}.brand-mark svg{width:23px;height:23px}.sidebar-section{margin-bottom:26px}.section-eyebrow{font-size:10px;letter-spacing:1.4px;color:#92a0a5;font-weight:600;margin:0 0 12px 11px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 7px 10px 0}.section-heading .section-eyebrow{margin-bottom:0}.subtle-count{font-size:11px;color:#a0aab0}.nav-item{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:11px;text-align:left;border-radius:8px;padding:11px;color:#6c7d83;font-weight:500}.nav-item svg{width:18px;height:18px}.nav-item.active{color:var(--teal);background:var(--teal-soft)}.nav-count{font-size:11px;margin-left:auto;min-width:22px;text-align:center;background:#cfece2;color:#287e6e;border-radius:5px;padding:1px 5px}.customer-nav{display:grid;gap:3px}.customer-item{display:flex;width:100%;align-items:center;gap:10px;border:0;background:transparent;padding:9px 11px;border-radius:7px;text-align:left;color:#687c83;font-size:12px}.customer-item:hover,.phone-item:hover{background:#f5f8f8}.customer-item.active,.phone-item.active{background:#edf5f3;color:#1b776a}.customer-dot{width:7px;height:7px;background:#7fa89c;border-radius:50%;flex-shrink:0}.customer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-count{margin-left:auto;font-size:11px;color:#93a2a7}.phones-section{flex:1;margin-bottom:18px}.phone-nav{display:grid;gap:5px}.phone-item{display:flex;border:0;width:100%;padding:9px 11px;gap:10px;align-items:center;background:transparent;border-radius:8px;text-align:left;color:#536b73}.phone-nav-icon{width:28px;height:32px;background:#f0f4f6;color:#8fa2a9;display:grid;place-items:center;border-radius:6px;flex-shrink:0}.phone-nav-icon svg{width:15px;height:15px}.phone-item.active .phone-nav-icon{background:#dcefe9;color:var(--teal)}.phone-nav-text{min-width:0;display:flex;flex-direction:column;gap:2px}.phone-nav-text strong{font-size:12px;line-height:1.5;font-weight:600;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:155px}.phone-nav-text small{font-size:10px;color:#8f9da3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:155px}.nav-empty{font-size:11px;color:#9aa7ad;padding:7px 11px;margin:0}.sidebar-bottom{border-top:1px solid var(--line);padding-top:19px;margin:0 8px}.workspace-status{display:flex;gap:10px;align-items:center;margin-bottom:15px}.status-dot{width:7px;height:7px;border-radius:50%;background:#bbced0;flex-shrink:0}.status-dot.demo{background:#d8a45e}.status-dot.live{background:#6986a0}.workspace-status strong{display:block;font-size:11px;font-weight:600}.workspace-status div span{display:block;font-size:10px;color:#94a2a7;margin-top:2px}.sidebar-help{border:0;background:transparent;padding:3px 0;display:flex;align-items:center;width:100%;gap:7px;color:#82949b;font-size:11px}.sidebar-help svg{width:15px;height:15px}.sidebar-help span{margin-left:auto;font-size:15px}.main-shell{margin-left:248px;width:calc(100% - 248px);min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:23px;padding:0 40px;background:#fff}.breadcrumb{color:#9aa6ac;font-size:12px;display:flex;gap:14px;white-space:nowrap}.breadcrumb strong{color:#667a82;font-weight:500}.breadcrumb span{color:#ccd5d9}.global-search{margin-left:auto;display:flex;align-items:center;gap:10px;background:#f6f8f9;border:1px solid #edf0f2;border-radius:8px;padding:8px 11px;max-width:350px;width:33vw;color:#96a6ae}.global-search svg{width:17px;height:17px}.global-search input{background:none;border:0;outline:0;min-width:0;width:100%;font-size:11px;color:var(--ink);padding:2px 0}.global-search input::placeholder{color:#a2adb3}.global-search kbd{font:9px inherit;white-space:nowrap;border:1px solid #e0e6e9;border-radius:4px;padding:1px 4px;color:#a7b2b8}.mode-badge{font-size:10px;color:#9c7843;background:#fcf5e9;border:1px solid #f0e3cb;border-radius:5px;padding:3px 7px;white-space:nowrap}.mode-badge.live{color:#4d708a;background:#eff5f9;border-color:#dce8f0}.avatar{width:30px;height:30px;border:1px solid #dce7e5;background:#eef6f3;color:#4a8b79;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0}main{max-width:1580px;padding:34px 40px 24px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:1.4px;color:#90a0a6;margin:0 0 8px;font-weight:500}h1{font-size:27px;line-height:1.4;margin:0;font-weight:650;letter-spacing:-.6px;display:flex;align-items:center;gap:12px}.heading-dot{width:7px;height:7px;border-radius:50%;background:#2b9683;margin-top:3px}.page-description{font-size:12px;color:#87979e;margin:8px 0 0}.heading-actions{display:flex;align-items:center;gap:10px}.button{border:1px solid transparent;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 13px;font-size:11px;font-weight:550;white-space:nowrap;transition:background .15s,border-color .15s}.button svg{width:16px;height:16px}.button.primary{background:var(--navy);color:#fff;box-shadow:0 2px 4px #16384112}.button.primary:hover{background:#22535c}.button.secondary{background:#fff;border-color:#dfe6e9;color:#526b75;box-shadow:0 1px 2px #16384105}.button.secondary:hover{border-color:#b9d2cc;background:#fbfdfc}.icon-button{display:grid;place-items:center;width:31px;height:31px;border:0;color:#84969c;background:transparent;border-radius:6px;padding:5px}.icon-button:hover{background:#edf3f3;color:#2d665e}.icon-button.small{width:24px;height:24px;padding:3px}.icon-button.small svg{width:16px;height:16px}.text-button{background:none;border:0;padding:3px 0;font-size:11px;color:#2c8b77;white-space:nowrap}.text-button:hover{color:#195e50;text-decoration:underline}.notice{border:1px solid #d6e7e2;border-radius:9px;background:#eef7f4;display:flex;align-items:center;padding:15px 17px;gap:12px;margin-bottom:25px}.notice-icon{display:grid;place-items:center;color:#438673;flex-shrink:0}.notice-icon svg{width:21px;height:21px}.notice strong{font-size:11px;font-weight:600;color:#397b69}.notice p{font-size:11px;color:#76a092;margin:3px 0 0}.notice-button{background:#fff;color:#397b69;border-color:#d5e6df;margin-left:auto;font-size:10px;min-height:30px;padding:5px 11px}.notice-button span{margin-left:4px;font-size:14px}.notice.live-notice{background:#f0f5f9;border-color:#dce7ee}.live-notice .notice-icon,.live-notice strong{color:#52748a}.live-notice p{color:#8198a5}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 19px 17px;box-shadow:0 2px 3px #16384102}.stat-title{font-size:11px;color:#71838b;display:flex;align-items:center;justify-content:space-between;gap:5px}.stat-symbol{width:29px;height:29px;display:grid;place-items:center;border-radius:8px}.stat-symbol svg{width:16px;height:16px}.stat-symbol.blue{color:#6b95b6;background:#edf4fa}.stat-symbol.teal{color:#6ca38e;background:#edf7f1}.stat-symbol.violet{color:#9386bf;background:#f4f1fb}.stat-symbol.amber{color:#bd9b62;background:#fbf6ed}.stat-card p{margin:6px 0 3px;display:flex;align-items:baseline;gap:7px}.stat-card strong{font-size:30px;line-height:1.5;letter-spacing:-1.5px;font-weight:600;color:#193540;font-variant-numeric:tabular-nums}.stat-card p span{font-size:10px;color:#a1adb2}.stat-card small{font-size:10px;color:#9aa8af}.inbox-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 3px #16384102}.panel-top{display:flex;justify-content:space-between;align-items:center;padding:19px 21px 17px}.panel-heading{display:flex;align-items:center;gap:9px}.panel-heading h2{margin:0;font-size:15px;font-weight:600}.count-badge{font-size:9px;padding:1px 6px;background:#eff4f4;color:#79908e;border:1px solid #e1eae7;border-radius:5px;font-variant-numeric:tabular-nums}.refresh-meta{display:flex;align-items:center;gap:7px;font-size:10px;color:#a0aeb4}.refresh-dot{height:5px;width:5px;flex-shrink:0;border-radius:50%;background:#8eafa5}.refresh-dot.error{background:#d58b81}.refresh-dot.loading{animation:pulse 1s infinite}.refresh-meta .icon-button{margin-left:4px}.filter-bar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 21px;min-height:52px;gap:14px}.message-tabs{display:flex;gap:25px;align-self:stretch}.message-tab{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 14px;color:#91a1a9;font-size:11px;display:flex;align-items:flex-end}.message-tab.active{color:#247d6c;border-bottom-color:#278a77;font-weight:600}.filter-controls{display:flex;gap:9px;margin-bottom:12px}.select-wrap{display:flex;align-items:center;border:1px solid #e4e9ec;border-radius:6px;padding:0 7px;color:#a1afb6;background:#fff;gap:5px}.select-wrap svg{width:12px;height:12px}.select-wrap select{appearance:auto;border:0;background:none;color:#83959e;max-width:130px;font-size:10px;height:29px;padding:0 1px;outline:0}.active-filters{display:flex;align-items:center;justify-content:space-between;background:#f5faf8;padding:9px 21px;border-bottom:1px solid #e8f0ec;font-size:10px;color:#548374}.active-filters .text-button{font-size:10px}.table-scroll{width:100%;overflow:auto}.message-table{border-collapse:collapse;width:100%;table-layout:fixed}.message-table thead{background:#fafbfc}.message-table th{font-size:10px;color:#99a8b0;font-weight:500;text-align:left;padding:13px 12px;white-space:nowrap;border-bottom:1px solid #edf1f3}.message-table td{padding:19px 12px;border-bottom:1px solid #edf1f3;vertical-align:middle}.message-table tbody tr:last-child td{border-bottom:0}.message-table th:first-child,.message-table td:first-child{padding-left:21px}.message-table th:last-child,.message-table td:last-child{padding-right:18px}.phone-column{width:20%}.sender-column{width:13%}.content-column{width:31%}.code-column{width:16%}.time-column{width:14%}.action-column{width:6%}.message-owner{font-size:11px;color:#45616c;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.message-label{display:flex;align-items:center;gap:4px;margin-top:5px;font-size:9px;color:#96a5ad}.customer-tag{background:#f3f6f8;border-radius:3px;padding:1px 5px;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-tag{color:#aaa}.message-sender{font-size:11px;font-weight:550;color:#526c76;overflow-wrap:anywhere}.message-platform{margin-top:5px;color:#96a6af;font-size:9px}.message-preview{font-size:11px;color:#7b8d96;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.75;overflow-wrap:anywhere}.code-copy{border:1px solid #d6e9e0;background:#f0f8f3;color:#2b8769;border-radius:6px;padding:6px 8px;display:inline-flex;gap:8px;align-items:center;max-width:100%;min-height:31px}.code-copy:hover{background:#e2f2e8;border-color:#b2d7c4}.code-copy strong{font-size:14px;font-weight:650;letter-spacing:1px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis}.code-copy svg{width:13px;height:13px;color:#81aa98}.code-copy.copied{background:#dff1e5}.no-code{font-size:10px;color:#bcc6cb}.message-time{font-size:10px;color:#8397a0;white-space:nowrap;font-variant-numeric:tabular-nums}.message-date{margin-top:4px;font-size:9px;color:#abb8bf}.detail-button{font-size:10px;white-space:nowrap;padding:3px 0;background:none;border:0;color:#80949e}.detail-button:hover{color:#267f6d}.panel-footer{border-top:1px solid #edf1f3;padding:13px 21px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a4b1b8;gap:10px}.privacy-note{font-size:10px;color:#a0afb7;display:flex;align-items:flex-start;justify-content:center;gap:6px;margin:22px 0 0;text-align:center}.privacy-note svg{width:13px;height:13px;margin-top:1px;flex-shrink:0}.error-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff2f0;border:1px solid #f0d5cf;border-radius:8px;color:#aa5c50;padding:12px 15px;font-size:12px;margin-bottom:18px}.error-banner .text-button{color:#aa5c50}.empty-state{padding:45px 20px 50px;text-align:center}.empty-icon{color:#afc5c5;display:block;margin-bottom:15px}.empty-icon svg{width:48px;height:48px}.empty-state h3{font-size:14px;font-weight:600;margin:0 0 7px}.empty-state p{font-size:11px;color:#94a5ae;margin:0 auto 17px;max-width:360px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.modal{padding:25px;border:1px solid #e6eeec;box-shadow:0 20px 80px #152e3626;border-radius:17px;width:min(610px,calc(100vw - 32px));color:var(--ink);max-height:calc(100dvh - 48px);overflow:auto}.modal::backdrop{background:#17313f69;backdrop-filter:blur(4px)}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.modal-heading h2{font-size:20px;line-height:1.5;margin:0;font-weight:600;letter-spacing:-.5px}.modal-heading .eyebrow{margin-bottom:4px}.modal-heading>.icon-button{font-size:24px;font-weight:300;color:#9eacb2;line-height:1}.modal-description{font-size:12px;line-height:1.8;color:#84959d;margin:0 0 19px}.message-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin:0 0 23px}.message-detail-grid dt{font-size:10px;color:#9aa8af;margin-bottom:4px}.message-detail-grid dd{font-size:12px;color:#53717c;margin:0;overflow-wrap:anywhere}.detail-code{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f0f8f3;border:1px solid #dceee2;border-radius:10px;padding:17px;margin-bottom:20px}.detail-code span{display:block;font-size:10px;color:#76a08d;margin-bottom:5px}.detail-code strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:26px;letter-spacing:3px;color:#2c8065;overflow-wrap:anywhere}.original-label{font-size:10px;color:#94a5ad;margin-bottom:8px}.original-content{border:1px solid #e5ebee;background:#fafbfc;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:17px;border-radius:9px;font-size:13px;line-height:1.9;color:#506d78}.modal-hint{font-size:10px;color:#9cabb2;margin:15px 0 0}.managed-phones{display:grid;gap:6px;max-height:185px;overflow:auto}.managed-phone{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f7f9fa;border:1px solid #edf1f3;border-radius:7px}.managed-phone strong{display:block;font-size:12px;color:#526e78;overflow-wrap:anywhere}.managed-phone small{display:block;font-size:10px;color:#93a5ad;margin-top:3px}.form-divider{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;margin-top:20px;margin-bottom:16px;font-size:12px;font-weight:550}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}form label{display:block;font-size:11px;color:#6f8791}form input{display:block;width:100%;border:1px solid #dfe7ea;background:#fff;border-radius:7px;padding:10px 11px;outline:0;margin-top:6px;color:#2c5362;font-size:12px;min-height:38px}form input:focus{border-color:#80b7a8;box-shadow:0 0 0 3px #dbeee640}form input::placeholder{color:#afbcc3;font-size:11px}form label small{display:block;font-size:9px;margin-top:5px;color:#9caeb6}.required{color:#ce9286}.form-error{color:#b96553;background:#fff1ed;border:1px solid #f3ddd6;border-radius:6px;padding:8px 10px;font-size:11px;margin:14px 0 0}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:23px}.setup-callout{background:#eff7f4;border:1px solid #dcece5;border-radius:9px;padding:15px;margin-bottom:21px}.setup-callout strong{font-size:12px;color:#437f6f}.setup-callout p{font-size:11px;color:#789c90;line-height:1.8;margin:6px 0 0}.setup-steps{padding:0;margin:0;list-style:none;display:grid;gap:19px}.setup-steps li{display:flex;align-items:flex-start;gap:13px}.setup-steps li>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;flex-shrink:0;font-size:10px;color:#8baca4;border:1px solid #dbe7e3;background:#f8fbfa;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}.setup-steps li>div{min-width:0}.setup-steps strong{font-size:12px;font-weight:550;color:#506e78}.setup-steps p{font-size:11px;line-height:1.8;color:#8a9ca5;margin:5px 0}.webhook-box{display:flex;align-items:center;gap:9px;background:#f6f8fa;border:1px solid #e5ebef;border-radius:6px;padding:8px 10px;margin-top:9px}.webhook-box code{font-size:10px;line-height:1.7;color:#667e89;overflow-wrap:anywhere;flex:1}.settings-summary{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:23px}.setting-chip{font-size:10px;color:#6b8e84;background:#f2f8f5;border:1px solid #e0ece6;border-radius:5px;padding:4px 7px}.setting-chip.pending{color:#aa8a58;background:#fbf7f0;border-color:#efe5d3}.toast{position:fixed;z-index:100;bottom:28px;left:50%;transform:translateX(-50%);padding:11px 19px;background:#153a40;color:#fff;border:1px solid #2f585c;border-radius:9px;box-shadow:0 6px 30px #102e3829;font-size:12px;max-width:calc(100vw - 40px);text-align:center}.login-screen{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#f4f7f7;background-image:radial-gradient(ellipse at 40% 20%,#e6f2ed,transparent 60%);padding:24px}.login-card{background:#fff;max-width:400px;width:100%;padding:36px;border:1px solid #e1e9e7;border-radius:18px;box-shadow:0 12px 40px #183c4010;text-align:center}.brand-mark.large{width:49px;height:49px;border-radius:14px;margin:0 auto 27px}.brand-mark.large svg{width:28px;height:28px}.login-card h1{font-size:22px;display:block;letter-spacing:-.6px}.login-card>p:not(.eyebrow){font-size:11px;color:#90a2aa;margin:10px 0 27px}.login-card form{text-align:left}.login-card form .button{margin-top:18px;width:100%;min-height:41px;font-size:12px}.login-card>small{font-size:10px;color:#adb9bf;display:block;margin-top:22px}.menu-toggle{display:none}.logout-button{color:#8da0a8;font-size:10px}.sidebar-backdrop{display:none}@keyframes pulse{50%{opacity:.25}}@media(min-width:1600px){.message-table td{padding-top:23px;padding-bottom:23px}.content-column{width:33%}.phone-column{width:19%}}@media(max-width:1250px){.sidebar{width:219px;padding-left:14px;padding-right:14px}.main-shell{margin-left:219px;width:calc(100% - 219px)}.topbar{padding:0 26px;gap:15px}main{padding:30px 26px 22px}.stat-grid{gap:11px}.stat-card{padding:16px 15px}.stat-card small{font-size:9px}.message-table{min-width:820px}.message-table td{padding-top:17px;padding-bottom:17px}.breadcrumb{gap:10px}.global-search{max-width:270px}.panel-footer span:last-child{font-size:8px}.phone-nav-text strong,.phone-nav-text small{max-width:136px}}@media(max-width:1020px){.sidebar{width:200px;padding-left:10px;padding-right:10px}.brand{font-size:14px;gap:9px;padding-left:5px}.brand-mark{width:33px;height:33px;border-radius:9px}.brand small{font-size:8px}.main-shell{margin-left:200px;width:calc(100% - 200px)}main{padding:26px 22px 20px}.topbar{padding:0 22px;height:68px}.breadcrumb{font-size:10px}.global-search kbd{display:none}.global-search{width:28vw;max-width:240px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:14px 16px}.stat-card p{margin:0}.stat-card strong{font-size:28px}.stat-card small{font-size:10px}.page-heading{gap:12px}.heading-actions{gap:7px}.heading-actions .button{font-size:10px;padding:7px 10px}.heading-actions .button svg{width:14px;height:14px}.page-description{font-size:11px}.notice p{font-size:10px}.notice-button{font-size:9px}.notice{padding:13px 12px;gap:9px}.phone-nav-text strong,.phone-nav-text small{max-width:123px}.panel-footer span:last-child{display:none}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:248px;box-shadow:8px 0 35px #19384015}.sidebar.open{transform:translateX(0)}.sidebar-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#17313f59;z-index:19;backdrop-filter:blur(2px)}.main-shell{margin-left:0;width:100%}.topbar{height:63px;padding:0 17px;gap:11px}.menu-toggle{display:grid;flex-shrink:0}.breadcrumb{display:none}.global-search{margin-left:0;width:auto;flex:1;max-width:none;padding:8px 9px}.global-search input{font-size:10px}.topbar .avatar{display:none}.mode-badge{font-size:9px;padding:3px 6px}.logout-button{font-size:9px}main{padding:25px 18px 20px}.page-heading{align-items:flex-start;margin-bottom:20px}.eyebrow{font-size:9px;margin-bottom:6px}h1{font-size:25px}.page-description{font-size:10px;max-width:240px;line-height:1.8;margin-top:5px}.heading-actions{flex-direction:column;margin-top:10px;gap:7px}.heading-actions .button{min-height:31px;padding:5px 9px;font-size:9px}.notice{position:relative;align-items:flex-start;padding:14px;flex-wrap:wrap;margin-bottom:18px;gap:8px}.notice-icon{margin-top:1px}.notice div{flex:1;min-width:0}.notice strong{font-size:11px}.notice p{font-size:10px;line-height:1.8}.notice-button{margin-left:29px;font-size:10px;min-height:29px;padding:4px 9px}.stat-grid{gap:10px;margin-bottom:20px}.stat-card{padding:14px 13px}.stat-title{font-size:10px}.stat-symbol{width:24px;height:24px;border-radius:6px}.stat-symbol svg{width:14px;height:14px}.stat-card strong{font-size:27px}.stat-card small{font-size:9px}.panel-top{padding:17px 16px 14px}.panel-heading h2{font-size:14px}.refresh-meta{font-size:9px;gap:5px}.refresh-meta .icon-button{margin-left:0}.filter-bar{padding:0 16px;gap:10px;flex-wrap:wrap;align-items:flex-start;min-height:50px}.message-tabs{height:38px;gap:20px;flex-shrink:0}.message-tab{font-size:10px;padding-bottom:11px}.filter-controls{gap:6px;margin-bottom:9px}.select-wrap{padding:0 5px;gap:3px}.select-wrap select{height:27px;font-size:9px;max-width:96px}.select-wrap svg{width:10px;height:10px}.time-select{display:none}.active-filters{padding:9px 16px;font-size:9px}.active-filters .text-button{font-size:9px}.table-scroll{overflow:visible}.message-table{min-width:0;display:block}.message-table thead{display:none}.message-table tbody{display:block}.message-table tr{display:grid;grid-template-columns:1fr auto;gap:10px 14px;padding:17px 16px;border-bottom:1px solid #edf1f3}.message-table tr:last-child{border-bottom:0}.message-table td{padding:0!important;border:0;display:block;min-width:0}.message-table td:nth-child(1){grid-column:1;grid-row:1}.message-table td:nth-child(2){grid-column:1;grid-row:2;display:flex;align-items:center;gap:7px}.message-table td:nth-child(3){grid-column:1/-1;grid-row:3}.message-table td:nth-child(4){grid-column:2;grid-row:1;align-self:center;justify-self:end}.message-table td:nth-child(5){grid-column:2;grid-row:2;display:flex;gap:5px;align-items:center;justify-content:flex-end}.message-table td:nth-child(6){grid-column:2;grid-row:4;text-align:right}.message-owner{font-size:12px}.message-label{margin-top:3px;font-size:9px}.message-sender{font-size:10px}.message-sender:before{content:"来源 ";color:#adbac1;font-weight:400;margin-right:4px}.message-platform{margin-top:0;font-size:9px}.message-preview{font-size:11px;color:#8b9ca4}.message-date{margin:0;font-size:9px}.message-time{font-size:9px}.code-copy{padding:5px 8px}.code-copy strong{font-size:15px;letter-spacing:1.5px}.detail-button{font-size:10px}.panel-footer{padding:12px 16px;font-size:9px}.privacy-note{font-size:9px;line-height:1.8;padding:0 7px;margin-top:18px}.modal{padding:21px;width:calc(100vw - 28px);border-radius:14px;max-height:calc(100dvh - 36px)}.modal-heading h2{font-size:18px}.modal-heading{margin-bottom:17px}.form-grid{grid-template-columns:1fr;gap:14px}.message-detail-grid{gap:16px}.message-detail-grid dd{font-size:11px}.detail-code{padding:13px;gap:10px}.detail-code strong{font-size:23px;letter-spacing:2px}.detail-code .button{font-size:10px;padding:7px 9px}.modal-description{font-size:11px}.managed-phones{max-height:155px}.original-content{font-size:12px;padding:14px}.setup-steps{gap:17px}.login-card{padding:29px 24px}.login-card h1{font-size:21px}.phone-nav-text strong,.phone-nav-text small{max-width:155px}.error-banner{font-size:11px;padding:11px}.toast{font-size:11px;bottom:20px}.stat-card small{display:block;line-height:1.6}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Device setup and large phone inventories. */
.sidebar{overflow:hidden}.customer-nav{max-height:145px;overflow:auto}.phones-section{min-height:110px;display:flex;flex-direction:column}.phone-nav{min-height:0;overflow:auto;flex:1;align-content:start;grid-auto-rows:max-content}.phone-nav,.customer-nav,.managed-phones{scrollbar-width:thin;scrollbar-color:#d4e0de transparent}.phone-nav::-webkit-scrollbar,.customer-nav::-webkit-scrollbar,.managed-phones::-webkit-scrollbar{width:3px}.phone-nav::-webkit-scrollbar-thumb,.customer-nav::-webkit-scrollbar-thumb,.managed-phones::-webkit-scrollbar-thumb{background:#d4e0de;border-radius:4px}.managed-phone-actions{display:flex;gap:13px;flex-shrink:0}.managed-phone>div:first-child{min-width:0}.setup-pending{background:#fcf7ed;border:1px solid #ede3ce;padding:13px 15px;border-radius:9px;margin-bottom:21px}.setup-pending strong{color:#9e814e;font-size:11px;font-weight:600}.setup-pending p{font-size:11px;line-height:1.8;color:#b29a73;margin:5px 0 0}.optional-setup{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.optional-setup summary{cursor:pointer;font-size:11px;color:#82969f}.optional-setup>p{font-size:11px;line-height:1.8;color:#90a1a9}.optional-setup .settings-summary{margin-top:12px;padding-top:0;border:0;margin-bottom:12px}.config-field{margin-top:17px}.config-field>span{color:#91a3ad;font-size:10px}.config-field .webhook-box{margin-top:6px}.config-body{font-size:11px;color:#5f7c88;line-height:1.7;background:#f6f8fa;border:1px solid #e5ebef;border-radius:6px;padding:13px;margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.device-modal .webhook-box code{font-size:10px;user-select:all}.device-modal .webhook-box>.icon-button{font-size:18px;flex-shrink:0}.device-modal .modal-description{font-variant-numeric:tabular-nums}@media(max-width:760px){.managed-phone-actions{gap:10px}.managed-phone-actions .text-button{font-size:10px}.managed-phone{padding:10px}.managed-phone small{font-size:9px}.customer-nav{max-height:145px}.setup-pending{padding:12px}.setup-pending p{font-size:10px}}

/* Physical SMS Gateway configuration. */
.gateway-setup-button{margin-top:6px;margin-bottom:15px}.setup-steps .gateway-setup-button{margin-bottom:0}.form-grid .full-width{grid-column:1/-1}form select{display:block;width:100%;height:38px;border:1px solid #dfe7ea;background:#fff;border-radius:7px;padding:7px 8px;outline:0;margin-top:6px;color:#647f8a;font-size:11px}form select:focus{border-color:#80b7a8;box-shadow:0 0 0 3px #dbeee640}.gateway-devices-header{display:flex;justify-content:space-between;font-size:11px;color:#8c9ea7;margin-bottom:9px}.gateway-devices-header>span:last-child{font-size:10px;color:#a5b4bb}.gateway-devices{display:grid;gap:6px;max-height:175px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d4e0de transparent}.gateway-device{border:1px solid #e7edef;background:#f8fafb;display:flex;align-items:center;gap:15px;justify-content:space-between;border-radius:8px;padding:11px 12px}.gateway-device strong{font-size:12px;color:#607b85;font-weight:550;display:block}.gateway-device small{font-size:10px;color:#96a7b0;display:block;margin-top:3px;overflow-wrap:anywhere}.gateway-device .text-button{flex-shrink:0;color:#ae8277;font-size:10px}.gateway-device .text-button:hover{color:#a76151}.revoke-confirmation{background:#fff4ef;border:1px solid #ecd8cf;border-radius:8px;padding:12px;margin-top:10px}.revoke-confirmation p{font-size:11px;color:#a57b6d;line-height:1.8;margin:0 0 9px}.revoke-confirmation>div{display:flex;align-items:center;justify-content:flex-end;gap:16px}.revoke-confirmation .text-button{color:#a1867d}.button.danger{background:#ba7763;color:#fff;font-size:10px;min-height:30px;padding:5px 10px}.button.danger:hover{background:#a96550}.gateway-modal .webhook-box code{user-select:all}.gateway-modal .webhook-box>.icon-button{font-size:18px;flex-shrink:0}.gateway-mappings{font-size:11px;line-height:1.9;color:#7d959d;border-bottom:1px solid var(--line);padding-bottom:14px;margin:15px 0 17px}.config-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.config-label-row>span{font-size:10px;color:#91a3ad}.config-label-row .text-button{font-size:10px}.gateway-registration-note{border:1px solid #e2ebe8;border-radius:8px;background:#f6faf8;padding:13px;margin-top:20px}.gateway-registration-note strong{font-size:11px;color:#729287}.gateway-registration-note p{font-size:11px;color:#94a69f;line-height:1.8;margin:5px 0 0}.gateway-registration-note code{font-size:10px;overflow-wrap:anywhere;color:#7a968b}.gateway-modal .modal-description{font-size:11px}@media(max-width:760px){.gateway-device{padding:10px}.gateway-device small{font-size:9px}.gateway-registration-note p{font-size:10px}.gateway-mappings{font-size:10px}.gateway-modal .form-grid{gap:15px}.gateway-setup-button{font-size:10px}}

/* Single-message sending and outbox. */
.outbox-panel{margin-top:23px}.outbox-service-note{padding:10px 21px;font-size:10px;line-height:1.8;color:#80979f;background:#f8fafb;border-bottom:1px solid #edf1f3}.outbox-service-note.demo{background:#fdf9f2;color:#b39a71}.outbox-service-note.pending{background:#fdf8ef;color:#aa905f}.outbox-table{width:100%;table-layout:fixed;border-collapse:collapse;min-width:760px}.outbox-table th{background:#fafbfc;padding:12px;font-size:10px;font-weight:500;color:#99a8b0;text-align:left;white-space:nowrap;border-bottom:1px solid #edf1f3}.outbox-table td{padding:17px 12px;border-bottom:1px solid #edf1f3;vertical-align:top;min-width:0}.outbox-table tr:last-child td{border-bottom:0}.outbox-table th:first-child,.outbox-table td:first-child{padding-left:21px}.outbox-table th:last-child,.outbox-table td:last-child{padding-right:21px}.outbox-table th:nth-child(1){width:20%}.outbox-table th:nth-child(2){width:18%}.outbox-table th:nth-child(3){width:29%}.outbox-table th:nth-child(4){width:22%}.outbox-table th:nth-child(5){width:11%}.outbox-content{color:#8b9da5;font-size:11px}.outbox-content summary{cursor:pointer;list-style:none}.outbox-content summary::-webkit-details-marker{display:none}.outbox-content summary small{display:block;color:#a7b5bc;font-size:9px;margin-top:4px}.outbox-content summary:hover small{color:#388f7b}.outbox-content>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.85;margin:10px 0 0;padding-top:10px;border-top:1px solid #edf2f3;color:#7a919b}.outbox-content[open] summary .message-preview{display:none}.send-status{display:inline-flex;align-items:center;font-size:9px;line-height:1.7;padding:3px 6px;border:1px solid #e5eaed;background:#f6f8f9;color:#899ba5;border-radius:5px;max-width:100%;overflow-wrap:anywhere}.send-status.demo{background:#faf6ee;color:#b0986e;border-color:#eee4d1}.send-status.queued,.send-status.pending{background:#f0f5fa;color:#7a97ac;border-color:#deebf3}.send-status.sent{background:#eff7f4;color:#71a18e;border-color:#e0ede7}.send-status.delivered{background:#eaf6ee;color:#5b9478;border-color:#dcecdf}.send-status.failed{background:#fdf1ed;color:#b48472;border-color:#f0e0d8}.outbox-error{font-size:9px;line-height:1.7;color:#bd9b8e;margin:5px 0 0;overflow-wrap:anywhere}.outbox-empty{text-align:center;padding:27px 20px 30px}.outbox-empty p{font-size:12px;color:#8a9ea7;margin:0 0 6px}.outbox-empty>span{color:#acb9c0;font-size:10px}.send-modal{width:min(570px,calc(100vw - 32px))}.send-modal form>label{margin-top:17px}.send-modal form>label:first-child{margin-top:0}textarea{font:inherit}.send-modal textarea{display:block;width:100%;background:#fff;border:1px solid #dfe7ea;border-radius:7px;resize:vertical;min-height:124px;padding:11px;outline:0;font-size:12px;line-height:1.85;color:#2c5362;margin-top:6px}.send-modal textarea:focus{border-color:#80b7a8;box-shadow:0 0 0 3px #dbeee640}.send-modal textarea::placeholder{font-size:11px;color:#afbcc3}.content-counter{display:flex!important;justify-content:space-between;gap:12px}.send-config-notice{font-size:11px;color:#a68c5e;line-height:1.85;background:#fcf8f0;border:1px solid #eee3ce;border-radius:8px;padding:11px 13px;margin-bottom:20px}.send-config-notice.ready{color:#749a8d;background:#f1f8f4;border-color:#dfede5}.send-config-notice .text-button{display:block;margin-top:5px;font-size:10px}.send-charge-note{font-size:10px;color:#b09a7c;background:#fcf9f3;border:1px solid #f0e7d9;border-radius:6px;padding:9px 11px;line-height:1.8;margin:17px 0 0}.send-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:0 0 23px}.send-review-grid dt{font-size:10px;color:#9cabb3;margin-bottom:5px}.send-review-grid dd{font-size:12px;color:#65838e;margin:0;overflow-wrap:anywhere;white-space:pre-line}.send-result-state{padding:12px 15px 30px;text-align:center}.send-result-mark{background:#eff6f3;border:1px solid #dceae2;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin:0 auto 14px;font-size:24px;color:#619987}.send-result-state h3{font-size:17px;font-weight:550;margin:0 0 8px;color:#53777c}.send-result-state p{font-size:11px;line-height:1.9;color:#95a9ad;margin:0 auto;max-width:350px}.send-modal .modal-hint{line-height:1.9}.remote-send-guide{margin-top:22px;padding:14px;border:1px solid #dce9e5;background:#f4faf7;border-radius:9px}.remote-send-guide strong{font-size:11px;color:#71968a}.remote-send-guide p{font-size:11px;line-height:1.85;color:#91a89d;margin:6px 0 0}.optional-label{color:#aebbc1;font-size:10px}.sending .close-dialog{pointer-events:none;opacity:.4}@media(max-width:760px){.outbox-service-note{padding:10px 16px;font-size:9px}.outbox-table{display:block;min-width:0}.outbox-table thead{display:none}.outbox-table tbody{display:block}.outbox-table tr{display:grid;grid-template-columns:1fr auto;gap:11px 13px;padding:17px 16px;border-bottom:1px solid #edf1f3}.outbox-table tr:last-child{border-bottom:0}.outbox-table td{border:0;padding:0!important;display:block}.outbox-table td:nth-child(1){grid-row:1;grid-column:1}.outbox-table td:nth-child(2){grid-row:2;grid-column:1}.outbox-table td:nth-child(2) .message-owner:before{content:"收件 ";font-size:9px;font-weight:400;color:#a8b8be;margin-right:4px}.outbox-table td:nth-child(3){grid-row:3;grid-column:1/-1}.outbox-table td:nth-child(4){grid-row:1;grid-column:2;align-self:start;text-align:right;max-width:128px}.outbox-table td:nth-child(5){grid-row:2;grid-column:2;display:flex;gap:5px;align-items:center;justify-content:flex-end}.outbox-table .message-owner{font-size:11px}.send-status{font-size:8px;padding:3px 5px}.outbox-error{font-size:8px}.outbox-table .message-preview{font-size:10px}.outbox-empty>span{font-size:9px}.outbox-panel{margin-top:18px}.send-modal{width:calc(100vw - 28px)}.send-review-grid dd{font-size:11px}.send-config-notice{font-size:10px;padding:10px 11px}.send-charge-note{font-size:9px}.send-result-state{padding:9px 10px 24px}.send-result-state h3{font-size:16px}.remote-send-guide p{font-size:10px}}

/* Account login and mobile touch layout. */
.login-screen{overflow:auto;overscroll-behavior:contain}.login-card{min-width:0}.login-card form>label+label{margin-top:16px}.global-search,.form-grid>label,.modal-heading>div,.modal form{min-width:0}.modal{max-width:calc(100vw - 28px)}.modal-actions{flex-wrap:wrap}.gateway-device>div,.managed-phone>div{min-width:0}.config-body{max-width:100%;overflow-x:auto}
@media(max-width:760px){.login-screen{padding:24px 18px max(24px,env(safe-area-inset-bottom));}.login-card{margin:auto 0}.login-card input{font-size:16px;min-height:46px}.login-card form .button{min-height:46px}.login-card>small{line-height:1.8}.topbar .mode-badge,.topbar .logout-button{flex-shrink:0}.global-search{min-width:0}.modal input,.modal select,.modal textarea{font-size:16px;max-width:100%}.modal form select{width:100%;min-width:0}.modal-actions .button{min-height:42px}.modal-heading{gap:12px}.managed-phone{align-items:flex-start}.managed-phone-actions{flex-wrap:wrap;gap:10px}.form-grid{grid-template-columns:minmax(0,1fr)}.message-table tr,.outbox-table tr{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:480px){.page-heading{flex-wrap:wrap}.heading-actions{width:100%;flex-direction:row;flex-wrap:wrap;margin-top:0}.heading-actions .button{flex:1;min-height:38px;font-size:10px}.page-description{max-width:none}.refresh-meta{flex-wrap:wrap;justify-content:flex-end}.modal-heading h2{overflow-wrap:anywhere}.modal .webhook-box{min-width:0}.modal .webhook-box code{min-width:0}.modal .text-button{white-space:normal}.modal .button{max-width:100%}.managed-phone-actions{justify-content:flex-end}.login-card{padding:28px 22px}}

/* Guided phone onboarding. */
.onboarding-modal{width:min(650px,calc(100vw - 32px))}.onboarding-guide{border:1px solid #e1ebe7;background:#f7faf8;border-radius:9px;padding:12px 14px;margin:0 0 20px}.onboarding-guide summary{cursor:pointer;color:#547e71;font-size:11px;font-weight:550}.onboarding-guide ol{font-size:11px;line-height:1.85;color:#7f9690;padding-left:20px;margin:12px 0}.onboarding-guide li+li{margin-top:8px}.onboarding-device-row{display:flex;align-items:flex-end;gap:10px}.onboarding-device-row>label{flex:1;min-width:0}.onboarding-device-row .button{min-height:38px;flex-shrink:0}.onboarding-modal select{width:100%;border:1px solid #dfe7ea;border-radius:7px;min-height:39px;margin-top:6px;padding:8px;color:#2c5362;background:#fff;max-width:100%}.onboarding-modal .form-grid{margin-top:20px}.onboarding-modal .field-hint{font-size:10px;color:#8da0a6;line-height:1.8;margin:8px 0 0}.onboarding-notice{font-size:11px;line-height:1.8;color:#768e91;padding:10px 12px;background:#f3f7f8;border:1px solid #e3ebed;border-radius:8px;margin:0 0 17px}.onboarding-completion{background:#eef8f3;border:1px solid #daeae0;border-radius:9px;padding:14px}.onboarding-completion strong{font-size:13px;color:#437e6f}.onboarding-completion p{font-size:11px;line-height:1.8;color:#7c9c90;margin:5px 0 0}.onboarding-modal .webhook-box code{user-select:all}.onboarding-modal .webhook-box .button{flex-shrink:0}.onboarding-final-steps{padding-left:20px;color:#76928b;font-size:11px;line-height:1.9;margin:19px 0}.onboarding-final-steps li+li{margin-top:8px}.onboarding-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e6edeb;padding-top:15px;margin-top:21px;font-size:10px;color:#9badb1}.onboarding-footer .text-button{font-size:10px}.onboarding-busy .close-dialog{pointer-events:none;opacity:.4}
@media(max-width:760px){.onboarding-modal{width:calc(100vw - 28px)}.onboarding-device-row{flex-wrap:wrap}.onboarding-device-row>label{flex-basis:100%}.onboarding-device-row .button{min-height:40px}.onboarding-modal select{font-size:16px;overflow:hidden;text-overflow:ellipsis}.onboarding-modal .webhook-box{flex-wrap:wrap}.onboarding-modal .webhook-box code{flex-basis:100%}.onboarding-modal .webhook-box .button{min-height:40px}.onboarding-guide ol,.onboarding-final-steps{font-size:12px}.onboarding-footer{flex-wrap:wrap}.onboarding-modal .modal-actions{gap:8px}.onboarding-modal .modal-actions .button{flex:1;min-width:110px}.onboarding-completion p,.onboarding-notice{font-size:12px}.onboarding-guide summary{font-size:12px}}
