:root{--bg:#f6f7fb;--panel:#ffffff;--panel-soft:#f1f5f9;--panel-warm:#fff7ed;--text:#182230;--muted:#667085;--line:#d9e2ec;--primary:#166534;--primary-strong:#14532d;--accent:#1d4ed8;--danger:#b42318;--warning:#b54708;--success:#067647;--radius:8px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.page-shell{min-height:100vh}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,44px);line-height:1.1;margin-bottom:10px}h2{font-size:20px;line-height:1.25;margin-bottom:12px}p{color:var(--muted);line-height:1.65}label{color:var(--text);display:grid;font-weight:700;grid-gap:8px;gap:8px}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:44px;padding:10px 12px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,78,216,.12);outline:none}.table-link,button{align-items:center;background:var(--primary);border:1px solid var(--primary);border-radius:8px;color:#fff;display:inline-flex;font-weight:700;justify-content:center;min-height:44px;padding:10px 16px;white-space:nowrap}.table-link:hover,button:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.secondary-button{background:#fff;border-color:var(--line);color:var(--text)}.secondary-button:hover{background:var(--panel-soft);border-color:var(--line)}.muted-text{color:var(--muted)}.mono-text{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.break-text{overflow-wrap:anywhere}.eyebrow{color:var(--accent);font-size:13px;font-weight:800;letter-spacing:0;margin-bottom:8px}.alert{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e3a8a;padding:12px 14px}.alert--danger{background:#fff1f0;border-color:#fecdca;color:var(--danger)}.alert--success{background:#ecfdf3;border-color:#abefc6;color:var(--success)}.status-badge{background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:13px;font-weight:800;line-height:1;padding:7px 10px;white-space:nowrap}.status-badge--success{background:#ecfdf3;border-color:#abefc6;color:var(--success)}.status-badge--warning{background:#fffaeb;border-color:#fedf89;color:var(--warning)}.status-badge--danger{background:#fff1f0;border-color:#fecdca;color:var(--danger)}.empty-state{background:var(--panel-soft);border:1px dashed #bcccdc;border-radius:8px;padding:22px}.empty-state p{margin:8px 0 0}.mode-banner{align-items:center;background:var(--panel-warm);border:1px solid #fed7aa;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:12px 14px}.mode-banner--live{background:#fff1f0;border-color:#fecdca}.mode-banner__label{color:var(--muted);display:block;font-size:12px;font-weight:700;margin-bottom:4px}.mode-banner p{margin:0}.admin-card,.front-card,.login-panel,.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px rgba(24,34,48,.06)}.front-card{padding:22px}.cdk-form{display:grid;grid-gap:18px;gap:18px}.cdk-form__row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr auto}.front-grid{align-items:flex-start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.change-panel{grid-column:1/-1}.panel-title-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.phone-display{background:#0f172a;border-radius:8px;color:#fff;font-size:clamp(24px,4vw,40px);font-weight:800;line-height:1.1;margin:14px 0;overflow-wrap:anywhere;padding:18px}.detail-grid,.message-detail{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.detail-grid div,.message-detail div{background:var(--panel-soft);border-radius:8px;padding:12px}dt{color:var(--muted);font-size:12px;font-weight:800;margin-bottom:6px}dd{margin:0;overflow-wrap:anywhere}.code-result{background:#ecfdf3;border:1px solid #abefc6;border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:18px}.code-result span{color:var(--success);font-weight:800}.code-result strong{color:var(--success);font-size:36px}.waiting-text{background:var(--panel-soft);border-radius:8px;margin-bottom:0;padding:16px}.message-detail{margin-top:14px}.message-detail__full{grid-column:1/-1}.admin-shell{background:radial-gradient(circle at 78% 0,rgba(35,95,180,.08),transparent 30%),linear-gradient(180deg,#f7f9fc,#eef3f8);display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(12,18,31,.98)),#111827;border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 48px rgba(15,23,42,.12);color:#fff;padding:24px 18px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.admin-brand{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;gap:12px;font-weight:800;margin-bottom:18px;padding:14px}.admin-brand,.admin-brand__mark{align-items:center;border-radius:8px}.admin-brand__mark{background:linear-gradient(135deg,#34d399,#60a5fa);color:#08111f;display:inline-flex;font-size:20px;font-weight:900;height:40px;justify-content:center;width:40px}.admin-brand small,.admin-brand strong{display:block}.admin-brand strong{color:#fff;font-size:16px}.admin-brand small{color:#94a3b8;font-size:12px;margin-top:2px}.admin-nav{display:grid;grid-gap:6px;gap:6px}.admin-nav a{border-radius:8px;color:#cbd5e1;display:flex;align-items:center;gap:10px;font-weight:700;padding:12px 13px}.admin-nav a span{align-items:center;background:rgba(255,255,255,.08);border-radius:7px;display:inline-flex;height:26px;justify-content:center;width:26px}.admin-nav a:hover{background:rgba(255,255,255,.1);color:#fff}.admin-main{display:grid;grid-gap:22px;gap:22px;align-content:flex-start;padding:28px 32px 42px}.admin-header{align-items:center;background:rgba(255,255,255,.78);border:1px solid rgba(214,224,237,.9);border-radius:8px;box-shadow:0 16px 42px rgba(15,23,42,.06);display:grid;grid-gap:20px;gap:20px;grid-template-columns:1fr auto;min-height:104px;padding:22px 24px}.admin-header p{margin-bottom:0}.admin-header h1{color:#0f172a;font-size:34px;margin-bottom:8px}.admin-kicker{color:#2563eb;font-size:12px;font-weight:900;letter-spacing:1.8px;margin-bottom:8px;text-transform:uppercase}.admin-stack{display:grid;grid-gap:20px;gap:20px}.admin-overview{align-items:center;background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,64,175,.9)),#111827;border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 18px 42px rgba(15,23,42,.12);color:#fff;display:grid;grid-gap:18px;gap:18px;grid-template-columns:1fr auto;min-height:128px;padding:24px}.admin-overview span,.section-label{color:#2563eb;display:inline-block;font-size:12px;font-weight:900;letter-spacing:1.2px;margin-bottom:7px;text-transform:uppercase}.admin-overview span{color:#93c5fd}.admin-overview h2{color:#fff;font-size:26px;margin-bottom:8px}.admin-overview p{color:#cbd5e1;margin-bottom:0}.admin-card{background:rgba(255,255,255,.86);border-color:rgba(210,221,235,.95);box-shadow:0 18px 44px rgba(15,23,42,.07);padding:22px}.metric-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(247,250,252,.9)),#fff;border-color:rgba(209,222,238,.96);box-shadow:0 16px 40px rgba(15,23,42,.07);display:grid;grid-gap:12px;gap:12px;min-height:138px;padding:22px;position:relative;overflow:hidden}.metric-card:after{background:linear-gradient(180deg,rgba(37,99,235,.16),transparent);content:"";height:68px;position:absolute;right:-20px;top:-24px;transform:rotate(22deg);width:96px}.metric-card span{color:#53647d;font-size:14px;font-weight:800;position:relative;z-index:1}.metric-card strong{color:#0f172a;font-size:32px;line-height:1;position:relative;z-index:1}.metric-card small{color:#7b8798;font-weight:700;position:relative;z-index:1}.table-toolbar{align-items:center;display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr auto;margin-bottom:18px}.table-toolbar p{color:#667085;margin-bottom:0}.table-toolbar h2{color:#0f172a;font-size:22px;margin-bottom:5px}.export-options,.toolbar-actions{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.toolbar-actions label{width:130px}.mini-metrics{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 18px}.mini-metrics div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;grid-gap:5px;gap:5px;min-height:76px;padding:14px}.mini-metrics span{color:#64748b;font-size:13px;font-weight:800}.mini-metrics strong{color:#0f172a;font-size:24px;line-height:1}.export-options label{align-items:center;display:flex;font-weight:700;gap:8px;min-height:44px}.export-options input{min-height:auto;width:auto}.table-scroll{overflow-x:auto;width:100%}.data-table{border-collapse:separate;border-spacing:0;min-width:860px;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e6edf5;padding:13px;text-align:left;vertical-align:top}.data-table th{background:#f8fafc;color:#53647d;font-size:13px;font-weight:900;white-space:nowrap}.data-table thead th:first-child{border-top-left-radius:8px}.data-table thead th:last-child{border-top-right-radius:8px}.data-table td{color:#1f2937;line-height:1.5}.data-table tbody tr:hover td{background:#fbfdff}.table-link{background:#fff;border-color:var(--line);color:var(--accent);min-height:36px;padding:7px 10px}.settings-form{display:grid;grid-gap:16px;gap:16px}.settings-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid small{color:var(--muted);font-weight:400}.admin-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.evidence-list{display:grid;grid-gap:12px;gap:12px}.evidence-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px}.evidence-item p{margin-bottom:0}.login-page{align-items:center;display:grid;min-height:100vh;padding:20px}.login-panel{display:grid;grid-gap:16px;gap:16px;margin:0 auto;max-width:420px;padding:26px;width:100%}.front-page{align-items:center;background:radial-gradient(circle at 5% 10%,rgba(231,107,71,.18),transparent 30%),radial-gradient(circle at 90% 5%,rgba(78,177,131,.18),transparent 30%),radial-gradient(circle at 60% 95%,rgba(84,130,219,.18),transparent 24%),linear-gradient(120deg,#f7f0e8,#f8f7f1 52%,#eef6f2);display:grid;padding:38px 20px}.sms-console{background:rgba(255,253,248,.74);border:1px solid rgba(255,255,255,.82);border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 26px 80px rgba(55,48,38,.14);display:grid;grid-gap:12px;gap:12px;margin:0 auto;max-width:1480px;overflow:hidden;padding:14px 14px 16px;position:relative;width:min(100%,1480px)}.sms-console:before{background:linear-gradient(rgba(31,41,55,.035) 1px,transparent 0),linear-gradient(90deg,rgba(31,41,55,.035) 1px,transparent 0);background-size:32px 32px;content:"";inset:0;pointer-events:none;position:absolute}.sms-console>*{position:relative;z-index:1}.sms-brand{background:rgba(255,249,241,.82);border:1px solid rgba(237,205,180,.82);color:#a94727;font-size:14px;font-weight:900;gap:10px;justify-self:center;letter-spacing:2px;margin-top:2px;padding:9px 14px 9px 9px}.sms-brand,.sms-brand__icon{align-items:center;border-radius:999px;display:inline-flex}.sms-brand__icon{background:#111111;color:#f4b183;height:28px;justify-content:center;width:28px}.sms-stats{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.sms-stat{align-items:center;background:rgba(255,255,255,.68);border:1px solid rgba(218,223,229,.86);border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.82);display:flex;gap:12px;justify-content:center;min-height:58px;padding:8px 16px}.sms-stat span,.sms-tip span{background:rgba(255,255,255,.72);border:1px solid rgba(232,221,209,.9);border-radius:999px;color:#a94727;font-size:11px;font-weight:900;line-height:1;padding:5px 7px}.sms-stat:first-child span{color:#5650b8}.sms-stat:nth-child(2) span{color:#168466}.sms-stat p{color:#4f5560;font-size:13px;font-weight:800;margin:0}.sms-stat strong{color:#111111;font-size:30px;letter-spacing:0;line-height:1}.sms-tip{align-items:center;background:rgba(255,250,242,.62);border:1px solid rgba(232,221,209,.82);border-radius:8px;color:#5d5a54;display:flex;font-size:13px;font-weight:700;gap:8px;justify-content:center;min-height:38px;padding:8px 14px;text-align:center}.sms-cdk,.sms-changebar,.sms-panel{background:rgba(255,252,247,.62);border:1px solid rgba(225,220,211,.88);border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.sms-cdk{display:grid;grid-gap:10px;gap:10px;padding:12px 14px 10px}.sms-cdk__head{align-items:center;display:flex;justify-content:space-between}.sms-cdk__head label{color:#69645d;font-size:13px;font-weight:900}.sms-cdk__head span{background:rgba(255,255,255,.76);border:1px solid rgba(232,221,209,.8);border-radius:999px;color:#6b625a;font-size:13px;font-weight:800;padding:6px 10px}.sms-cdk__row{align-items:center;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) auto}.sms-cdk input{background:rgba(255,255,255,.72);border-color:rgba(220,214,205,.96);border-radius:8px;font-size:18px;height:52px;padding:0 16px}.sms-cdk button,.sms-changebar button,.sms-code-actions button{background:rgba(255,255,255,.74);border-color:rgba(228,219,208,.92);color:#a94727;min-height:44px}.sms-cdk button:not(:disabled),.sms-changebar button:not(:disabled){background:#111111;border-color:#111111;color:#ffffff}.sms-alert{background:rgba(239,246,255,.78);border:1px solid rgba(191,219,254,.86);border-radius:8px;color:#1e3a8a;font-weight:700;padding:10px 13px}.sms-alert--danger{background:rgba(255,241,240,.86);border-color:#fecdca;color:#b42318}.sms-alert--success{background:rgba(236,253,243,.82);border-color:#abefc6;color:#067647}.sms-main-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sms-panel{min-height:232px;padding:18px}.sms-section-title span{color:#7d746b;display:block;font-size:11px;font-weight:900;letter-spacing:4px;line-height:1;margin-bottom:4px}.sms-section-title h2{color:#111111;font-size:25px;letter-spacing:0;margin-bottom:14px}.sms-phone{color:#111111;font-size:clamp(34px,5vw,52px);font-weight:900;line-height:1;margin:12px 0 22px;overflow-wrap:anywhere}.sms-metrics{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.sms-metrics div{background:rgba(255,255,255,.58);border:1px solid rgba(226,220,211,.82);border-radius:8px;min-height:58px;padding:11px 12px}.sms-changebar__count span,.sms-metrics span{color:#416188;display:block;font-size:12px;font-weight:900;margin-bottom:5px}.sms-changebar__count strong,.sms-metrics strong{color:#111111;font-size:15px}.sms-line-meta,.sms-state-line{align-items:center;color:#5b5f62;display:flex;font-size:14px;font-weight:800;gap:8px;margin-top:18px}.sms-line-meta{color:#7a736a;font-size:12px;margin-top:8px}.dot{background:#57c3a8;border-radius:999px;display:inline-block;height:8px;width:8px}.dot--ok{background:#22c55e}.sms-code-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.sms-code-actions{align-items:center;display:flex;gap:8px}.change-pill,.listen-pill{align-items:center;background:rgba(233,218,208,.88);border-radius:999px;color:#b34b2b;display:inline-flex;font-size:13px;font-weight:900;gap:7px;padding:7px 11px;white-space:nowrap}.listen-pill i{background:#50c1a6;border-radius:999px;display:inline-block;height:8px;width:8px}.terminal-code{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 0),#1a1715;background-size:24px 24px;border:1px solid rgba(255,255,255,.08);border-radius:8px;box-shadow:inset 0 0 26px rgba(0,0,0,.38);color:#ffffff;display:grid;min-height:132px;padding:12px 14px 20px;place-items:center}.terminal-dots{align-self:start;display:flex;gap:7px;justify-self:stretch}.terminal-dots span{border-radius:999px;height:8px;width:8px}.terminal-dots span:first-child{background:#ef8f68}.terminal-dots span:nth-child(2){background:#f3bd72}.terminal-dots span:nth-child(3){background:#5ac1a8}.terminal-dots b{color:rgba(255,255,255,.38);font-size:10px;margin-left:auto}.terminal-code strong{font-size:30px;letter-spacing:8px;line-height:1}.terminal-code p{color:rgba(255,255,255,.62);font-size:12px;font-weight:800;margin:0}.sms-message{color:#5f574f;display:grid;font-size:13px;grid-gap:6px;gap:6px;margin-top:12px}.sms-message p{color:#2c2a27;margin:0;overflow-wrap:anywhere}.sms-changebar{align-items:center;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) auto auto;min-height:58px;padding:10px 14px}.sms-changebar__left{align-items:center;display:flex;gap:10px;min-width:0}.sms-changebar__left strong{color:#111111;white-space:nowrap}.sms-changebar__left p{color:#5f574f;font-size:13px;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-changebar__count{background:rgba(255,255,255,.56);border-radius:999px;min-width:94px;padding:8px 12px;text-align:center}@media (max-width:900px){.sms-changebar,.sms-main-grid,.sms-stats{grid-template-columns:1fr}.sms-changebar__left{align-items:flex-start;flex-direction:column}.sms-changebar__left p{white-space:normal}.sms-code-actions,.sms-code-head{align-items:stretch;flex-direction:column}.admin-header,.admin-overview,.admin-shell,.front-grid,.front-heading,.table-toolbar{grid-template-columns:1fr}.admin-sidebar{padding:16px}.admin-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.admin-nav a{white-space:nowrap}.admin-main{padding:18px}.admin-detail-grid,.metric-grid,.mini-metrics,.settings-grid{grid-template-columns:1fr}.export-options,.toolbar-actions{justify-content:flex-start}}@media (max-width:640px){.front-page{padding:12px}.sms-console{padding:10px}.sms-cdk__row,.sms-metrics{grid-template-columns:1fr}.sms-brand{width:100%;justify-content:center}.sms-stat{justify-content:flex-start}.sms-tip{align-items:flex-start;text-align:left}.admin-card,.front-card,.login-panel{padding:16px}.cdk-form__row,.detail-grid,.message-detail{grid-template-columns:1fr}.mode-banner,.panel-title-row{align-items:stretch;flex-direction:column}.table-link,.toolbar-actions label,button{width:100%}}