html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{--ink:#1c2430;--ink-soft:#3e4a5c;--muted:#667084;--line:#e4e7ee;--line-strong:#d5dae3;--paper:#f3f4f6;--card:#fff;--blue:#1a56c4;--blue-deep:#143f96;--blue-soft:#eef3fb;--danger:#b42318;--ok:#067647;--shadow:0 1px 2px #161c260d;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Noto Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{overscroll-behavior-x:none;max-width:100%;min-height:100%;margin:0;overflow-x:hidden}body{margin:0}button,input,textarea,select{font-family:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin:0}a{color:inherit}.public-shell{overscroll-behavior-x:none;touch-action:pan-y;background:var(--paper);justify-content:stretch;width:100%;max-width:100%;min-height:100dvh;display:flex;overflow-x:hidden}.public-phone{background:var(--paper);flex-direction:column;width:100%;min-width:0;max-width:100%;min-height:100dvh;display:flex;position:relative;overflow-x:hidden}.topbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:10px;min-height:56px;padding:8px 16px;display:flex}.brand-copy{min-width:0}.brand-copy strong{letter-spacing:-.01em;font-size:16px;font-weight:600;line-height:1.2;display:block}.brand-copy small,.topbar small{color:var(--muted);margin-top:1px;font-size:12px;line-height:1.25;display:block}.brand-mark{background:var(--blue);color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:16px;font-weight:600;display:grid;box-shadow:0 4px 10px #1a56c438}.brand-mark.large{border-radius:12px;width:44px;height:44px;margin-bottom:10px;font-size:20px}.brand-logo{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;flex:none;width:36px;height:36px;padding:3px;box-shadow:0 1px 3px #161c2614}.carousel{touch-action:pan-y;background:#1e3a8a;height:min(40vh,360px);min-height:220px;position:relative;overflow:hidden}.carousel.empty{color:#fff;place-items:center;display:grid}.carousel-track{width:100%;height:100%;display:flex}.carousel.animate .carousel-track{transition:transform .45s}.carousel-track img{object-fit:cover;flex:0 0 100%;width:100%;height:100%}.dots{justify-content:center;gap:6px;display:flex;position:absolute;bottom:10px;left:0;right:0}.dots button{background:#ffffff8c;border:0;border-radius:99px;width:6px;height:6px;padding:0}.dots button.on{background:#fff;width:16px}.button-grid{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:repeat(3,1fr);gap:0;padding:2px 0 0;display:grid}.home-btn{appearance:none;color:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:16px 6px 14px;display:flex;position:relative}.home-btn:nth-child(3n+2),.home-btn:nth-child(3n){box-shadow:inset 1px 0 0 var(--line)}.home-btn:nth-child(n+4){box-shadow:inset 0 1px 0 var(--line)}.home-btn:nth-child(3n+2):nth-child(n+4),.home-btn:nth-child(3n):nth-child(n+4){box-shadow:inset 1px 0 0 var(--line), inset 0 1px 0 var(--line)}.home-btn:active{background:#f6f7f9}.home-btn.busy{opacity:.5}.home-btn-icon{background:var(--blue-soft);width:40px;height:40px;color:var(--blue);border-radius:12px;place-items:center;display:grid;overflow:hidden}.home-btn-icon svg{width:26px;height:26px}.home-btn-icon img{object-fit:contain;width:26px;height:26px}.home-btn-label{color:var(--ink);text-align:center;font-size:13px;font-weight:500;line-height:1.25}.tiles{background:var(--paper);flex-direction:column;gap:8px;padding-top:8px;display:flex}.tiles img{background:#e6e9ee;width:100%;height:auto;display:block}.site-footer{text-align:center;color:#8b93a1;letter-spacing:.01em;padding:16px 16px 28px;font-size:12px}.subhead{border-bottom:1px solid var(--line);z-index:6;min-height:48px;padding-top:env(safe-area-inset-top);background:#fff;grid-template-columns:72px 1fr 72px;align-items:center;display:grid;position:sticky;top:0}.subhead h1{text-align:center;font-size:16px;font-weight:600}.subhead .back-btn{min-width:64px;min-height:44px;color:var(--blue);background:0 0;border:0;justify-self:start;padding:0 8px;font-size:15px;font-weight:600}.subhead .back-btn:before{content:"‹";margin-right:2px;font-size:20px;line-height:0}.sheet-body{padding:16px 16px calc(28px + env(safe-area-inset-bottom));background:var(--paper);flex:1}.visitor-cs-fab{right:max(12px, env(safe-area-inset-right));z-index:12;background:var(--blue);color:#fff;border:1px solid #0c3278;border-radius:999px;min-height:40px;padding:8px 14px;font-size:14px;font-weight:600;line-height:1.2;position:fixed;top:62%;box-shadow:0 4px 14px #1a56c447}.visitor-cs-toast{right:max(12px, env(safe-area-inset-right));z-index:12;background:var(--ink);color:#fff;border-radius:8px;max-width:220px;margin:0;padding:8px 10px;font-size:13px;position:fixed;top:calc(62% + 28px)}html.cs-chat-open .visitor-cs-fab,html.cs-chat-open .visitor-cs-toast{visibility:hidden}.sheet-body>.contract{margin:-16px -16px 0}.btn{background:var(--blue);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex;box-shadow:0 1px 2px #1a56c429}.public-shell .btn:active:not(:disabled),.gate-screen .btn:active:not(:disabled){transform:translateY(.5px)}.btn:hover{background:var(--blue-deep)}.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed}.btn.secondary{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);background:#fff}.btn.secondary:hover{background:#f7f8fa}.btn.danger{background:var(--danger);box-shadow:none}.btn.danger:hover{background:#912018}.btn.ghost{color:var(--blue);box-shadow:none;background:0 0}.btn.ghost:hover{background:var(--blue-soft)}.btn.block{border-radius:8px;width:100%;min-height:46px;font-size:16px}.btn.tiny{box-shadow:none;border-radius:6px;padding:5px 8px;font-size:12px}.text-link{color:var(--blue);background:0 0;border:0;padding:0;font-weight:600;text-decoration:none}.input{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px;font-size:15px}.input:focus,select.input:focus,textarea.input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #1a56c41f}.public-phone .input,.public-phone select,.public-phone textarea{font-size:16px}textarea.input{resize:vertical;min-height:72px;line-height:1.6}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field>span{color:var(--ink-soft);font-size:13px;font-weight:600}.field small,.muted{color:var(--muted);font-size:13px}.lead{color:var(--ink-soft);margin-bottom:12px;font-size:14px;line-height:1.6}.form-error{color:var(--danger);background:#fef3f2;border-radius:8px;padding:10px 12px;font-size:13px}.form-ok{color:var(--ok);background:#ecfdf3;border-radius:8px;padding:10px 12px;font-size:13px}.check{align-items:center;gap:8px;margin:0 0 12px;font-size:14px;display:flex}.check input{width:16px;height:16px;accent-color:var(--blue)}.stack{flex-direction:column;gap:12px;display:flex}.stack.tight{gap:8px}.stack.center{text-align:center;align-items:center}.pad{padding:8px 0}.modal-root{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));z-index:40;background:#161c2675;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-root.modal-center{justify-content:center;align-items:center}.modal-card{border:1px solid #e4e7eef2;border-top:3px solid var(--blue);background:#fff;border-radius:16px;flex-direction:column;width:min(440px,100%);max-height:calc(100svh - 24px);padding:12px 16px 16px;display:flex;overflow:hidden;box-shadow:0 18px 48px #161c262e}.modal-body{min-height:0;overflow:auto}.modal-actions{flex:none;padding-top:12px}.modal-actions .btn.block{width:100%}@media (width>=720px){.modal-root{align-items:center;padding:24px}}.modal-head,.meeting-head{border-bottom:1px solid var(--line);flex:none;grid-template-columns:1fr auto;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;display:grid}.meeting-head{grid-template-columns:52px 1fr 36px}.modal-head h2,.meeting-head h2{font-size:17px;font-weight:600}.meeting-head h2{text-align:center}.meeting-head img{object-fit:cover;border-radius:8px;width:48px;height:48px}.icon-x{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:10px;font-size:28px;line-height:1}.icon-x:hover{background:#f3f4f6}.empty-copy{color:var(--muted);text-align:center;border:1px dashed var(--line-strong);background:#fafbfc;border-radius:8px;padding:22px 12px}.entry-list{margin-top:8px}.entry{color:inherit;border-top:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.entry strong,.entry small{display:block}.entry small{color:var(--muted);font-size:12px}.entry em{color:var(--blue);flex:none;font-size:13px;font-style:normal;font-weight:600}.cert{border:1px solid var(--line);border-left:3px solid var(--blue);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:14px}.cert-person{align-items:center;gap:12px;display:flex}.cert-person img,.avatar-fallback{object-fit:cover;background:#e8edf5;border-radius:8px;width:56px;height:56px}.avatar-fallback{color:var(--blue-deep);place-items:center;font-size:22px;font-weight:600;display:grid}.cert-person strong{letter-spacing:-.01em;font-size:18px;font-weight:600;display:block}.cert-person em{color:var(--muted);margin-top:4px;font-size:12px;font-style:normal;display:block}.cert dl,.summary{gap:0;margin:12px 0 0;display:grid}.cert dl div,.summary div{border-top:1px solid #f0f2f5;grid-template-columns:84px 1fr;gap:8px;padding:7px 0;display:grid}.cert dt,.summary dt{color:var(--muted);font-size:13px}.cert dd,.summary dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.summary{text-align:left;border:1px solid var(--line);width:100%;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:4px 12px}.pill{border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.pill.pending{color:#92400e;background:#fef3c7}.pill.approved{color:#065f46;background:#d1fae5}.pill.rejected,.pill.awaiting_code{color:#991b1b;background:#fee2e2}.pill.awaiting_code{color:#3730a3;background:#e0e7ff}.contract{background:#fff;border-radius:0;padding:18px 16px 24px}.kicker{color:var(--blue);font-size:12px;font-weight:600}.contract-title{justify-content:space-between;align-items:flex-start;gap:12px;margin:6px 0 14px;display:flex}.contract h2{letter-spacing:-.02em;font-size:22px;font-weight:600;line-height:1.35}.contract h3{margin:16px 0 6px;font-size:15px}.contract section p,.contract footer{color:var(--ink-soft)}.contract footer{border-top:1px solid var(--line);color:#8b93a1;margin-top:18px;padding-top:12px;font-size:12px;line-height:1.6}.contract-body{color:#2c3544;line-height:1.75}.contract-body p{margin:0 0 10px}.contract-logo{object-fit:contain;width:72px;height:72px;margin:20px auto 4px;display:block}.meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0 16px;margin:0 0 16px;padding:4px 0;display:grid}.meta .span-2{grid-column:1/-1}.meta div{background:0 0;border-bottom:1px solid #f0f2f5;padding:8px 0}.meta dt{color:var(--muted);font-size:12px}.meta dd{font-variant-numeric:tabular-nums;word-break:break-all;margin:2px 0 0;font-weight:600}.parties{gap:8px;display:grid}.parties p{background:#f8fafc;border-radius:12px;padding:10px 12px}.parties span{color:#64748b;font-size:12px;display:block}.seal{color:#b91c1ce6;border:2px solid #dc2626bf;border-radius:50%;flex:none;place-items:center;width:76px;height:76px;font-size:13px;font-weight:700;display:grid;transform:rotate(-16deg)}.result-hero{text-align:center;background:#fff;border-radius:0;padding:28px 16px}.result-hero h2{letter-spacing:-.02em;margin:8px 0;font-size:22px;font-weight:600}.status-word{color:var(--muted);font-size:12px;font-weight:600}.result-hero p{color:#334155;white-space:pre-wrap}.result-mark{border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto;font-size:28px;font-weight:700;display:grid}.result-hero.success .result-mark{color:var(--ok);background:#e7f6ee}.result-hero.error .result-mark{color:var(--danger);background:#fdecec}.reason{font-weight:600;color:#991b1b!important}.pending-mark{border:3px solid #e4eaf4;border-top-color:var(--blue);border-radius:50%;width:72px;height:72px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.code-boxes{justify-content:center;gap:6px;width:100%;display:flex}.code-boxes input{text-align:center;border:1px solid #dbe3ef;border-radius:10px;flex:1 1 0;width:auto;min-width:0;max-width:48px;height:48px;font-size:22px;font-weight:700}.demo-code{text-align:center;background:#f8fafc;border:1px dashed #93c5fd;border-radius:12px;padding:12px}.demo-code span{color:#64748b;font-size:12px}.demo-code strong{letter-spacing:6px;color:#1d4ed8;font-size:28px;display:block}.chat-layer{z-index:35;background:#0f172a59;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.chat-panel{background:#fff;border-radius:18px 18px 0 0;width:min(430px,100%);padding:12px 12px 16px}.chat-panel header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.chat-panel header button{background:#f1f5f9;border:0;border-radius:99px;width:32px;height:32px}.chat-log{flex-direction:column;gap:8px;max-height:280px;padding:8px 0;display:flex;overflow:auto}.chat-log p{border-radius:12px;max-width:80%;margin:0;padding:8px 10px;font-size:14px}.chat-log .bot{background:#f1f5f9}.chat-log .me{background:var(--blue);color:#fff;align-self:flex-end}.chat-panel form{gap:8px;display:flex}.chat-panel input{border:1px solid #dbe3ef;border-radius:12px;flex:1;padding:10px 12px;font-size:16px}.toast{background:var(--ink);color:#fff;z-index:40;border-radius:999px;padding:10px 14px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.state-block{text-align:center;justify-items:center;gap:12px;padding:48px 24px;display:grid}.skeleton-wrap{gap:8px;padding:0;display:grid}.skeleton{background:linear-gradient(90deg,#e6e9ee,#f7f8fa,#e6e9ee) 0 0/200% 100%;border-radius:6px;animation:1.2s linear infinite shine}.skeleton.bar{width:42%;height:18px;margin:18px 16px 0}.skeleton.hero{border-radius:0;height:min(40vh,280px)}.skeleton.buttons{border-radius:0;height:132px;margin:0}.skeleton.tile{border-radius:0;height:108px}@keyframes shine{to{background-position:-200% 0}}.admin{min-height:100vh;color:var(--ink);background:#eef0f3;display:flex}.side{color:#d5dbe4;background:#1b2330;flex-direction:column;flex:none;width:168px;height:100vh;padding:8px;display:flex;position:sticky;top:0}.side-brand{align-items:center;gap:6px;padding:2px 6px 8px;display:flex}.side-brand span{background:var(--blue);border-radius:5px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:grid}.admin.door-station .side-brand span{background:#0e8f86}.admin.door-station .side a.active{box-shadow:inset 2px 0 #7dcec6}.door-pill{color:var(--blue);background:#e7eefb;border-radius:99px;margin-right:auto;padding:2px 8px;font-size:12px;font-weight:700}.admin.door-station .door-pill{color:#0b6e68;background:#e5f6f4}.side-brand strong,.side-brand small{display:block}.side-brand strong{font-size:13px;font-weight:600}.side-brand small{color:#8b97a8;font-size:11px}.side nav{flex-direction:column;gap:1px;display:flex}.side a{color:#c5ced8;border-radius:5px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;text-decoration:none;display:flex}.side a:hover{color:#fff;background:#ffffff0a}.side a.active{color:#fff;background:#121820;box-shadow:inset 3px 0 #3b82f6}.side a em{color:#1c2430;text-align:center;background:#e8a317;border-radius:99px;min-width:18px;padding:0 5px;font-size:11px;font-style:normal;font-weight:700}.admin-body{flex:1;min-width:0}.admin-top{border-bottom:1px solid var(--line);background:#fff;justify-content:flex-end;align-items:center;gap:6px;min-height:38px;padding:4px 10px;display:flex}.admin-content{background:#fff;min-height:calc(100vh - 42px);padding:12px 16px 24px}.admin-boot,.login-screen{background:#e7e9ee;place-items:center;min-height:100vh;display:grid}.admin-boot{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.a-title{letter-spacing:-.02em;margin-bottom:2px;font-size:16px;font-weight:600}.a-desc{color:var(--muted);max-width:68ch;margin-bottom:8px;font-size:12px;line-height:1.5}.card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;margin-bottom:8px;padding:10px}.card h3{margin:0 0 6px;font-size:12px;font-weight:600}.admin-content .card{max-width:720px;padding:0 0 8px}.admin-content .card>h3,.admin-content .card>.approval-line{border-bottom:1px solid var(--line);background:#f7f8fa;border-radius:7px 7px 0 0;margin:0 0 8px;padding:5px 10px;font-size:12px}.admin-content .card>:not(h3):not(.approval-line){margin-left:10px;margin-right:10px}.admin-content .card>.btn-row.btn-row{margin-left:0;margin-right:0;padding-left:10px;padding-right:10px}.admin-content .card>:first-child:not(h3):not(.approval-line){margin-top:8px}.admin-content .card.stack{gap:6px}.admin-content .card.stack>h3{margin-bottom:0}.split{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:10px;display:grid}.config-split{grid-template-columns:400px minmax(0,1fr);align-items:start;gap:12px;display:grid}.config-split>.phone-frame{z-index:1;order:-1;width:auto;position:sticky;top:16px}.config-split .phone-scroll{height:min(720px,100dvh - 88px)}.split.preview-left,.split.force-preview-left{grid-template-columns:390px minmax(0,1fr)}.split.force-preview-left>:first-child{order:2}.split.force-preview-left>:last-child{order:1}.detail-split{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.phone-frame{position:sticky;top:16px}.phone-frame>p{color:var(--muted);letter-spacing:.02em;margin-bottom:8px;font-size:12px;font-weight:600}.phone-scroll{background:var(--paper);border:1px solid #c5ccd6;border-radius:18px;height:720px;overflow:auto;box-shadow:0 10px 28px #161c2614}.phone-frame .carousel{height:220px;min-height:0}.preview-stages{flex-wrap:wrap;gap:4px;margin:0 0 6px;display:flex}.preview-stages button{border:1px solid var(--line-strong);color:var(--ink-soft);background:#fff;border-radius:999px;padding:3px 9px;font-size:12px}.preview-stages button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.preview-stage{background:var(--paper);min-height:100%;position:relative}.preview-modal{background:#0f172a7a;justify-content:safe center;align-items:safe center;padding:16px 12px;display:flex;position:absolute;inset:0;overflow:auto}.preview-modal .modal-card{width:min(100%,420px);max-height:none}.preview-stage .chat-layer{position:absolute}.preview-link{word-break:break-all}.grid-2{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.admin-content .grid-2{grid-template-columns:repeat(2,minmax(0,220px));justify-content:start;gap:0 8px;max-width:468px}.inline-row,.btn-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inline-row{margin-bottom:6px}.btn-row{border-bottom:1px solid #f1f5f9;grid-template-columns:64px 32px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 0;display:grid}.admin-content .btn-row{grid-template-columns:56px 28px 160px auto;gap:4px;width:max-content;max-width:100%;padding:3px 0}.slot-no{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.mini-icon{background:var(--blue-soft);width:28px;height:28px;color:var(--blue);border-radius:6px;place-items:center;display:grid}.mini-icon img{object-fit:contain;width:18px;height:18px}.icon-picker{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;display:flex}.icon-picker button{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);background:#fff;border-radius:6px;place-items:center;display:grid}.icon-picker button.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.media-list{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.media-list li{border-bottom:1px solid #f0f2f5;grid-template-columns:120px 1fr;align-items:center;gap:6px;padding-bottom:6px;display:grid}.media-list img{object-fit:cover;background:#e6e9ee;border-radius:6px;width:120px;height:68px}.thumb{object-fit:cover;background:#e6e9ee;border-radius:6px;width:48px;height:48px}.editor-block{border-top:1px solid #f1f5f9;margin-top:4px;padding-top:8px}.filters{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;gap:0;width:fit-content;margin-bottom:8px;padding:2px;display:flex}.filters button{color:var(--ink-soft);background:0 0;border:0;border-radius:6px;padding:3px 8px;font-size:12px}.filters button.on{background:var(--ink);color:#fff}.tabs{border:1px solid var(--line);background:#fff;border-radius:8px;gap:0;width:fit-content;max-width:100%;margin-bottom:8px;padding:2px;display:flex;overflow:auto}.tabs button{min-width:64px;color:var(--ink-soft);background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:flex-start;padding:3px 8px;font-size:12px;display:flex}.tabs button em{color:var(--muted);font-size:11px;font-style:normal}.tabs button.on{background:var(--ink);color:#fff}.tabs button.on em{color:#c5ced8}.approval-list{border:1px solid var(--line);max-width:640px;box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.approval-list a{border-bottom:1px solid var(--line);background:#fff;padding:6px 10px;font-size:13px;text-decoration:none;display:block}.approval-list li:last-child a{border-bottom:0}.approval-list a:hover{background:#f7f8fa}.approval-list p{color:#334155;margin:2px 0}.approval-list small{color:#94a3b8}.approval-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.approval-line h3{margin:0}.savebar{flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px;display:flex}.login-card{border:1px solid var(--line);border-top:4px solid var(--blue);background:#fff;border-radius:12px;width:min(400px,100% - 32px);padding:22px 20px;box-shadow:0 16px 40px #161c2614}.login-card.ant-card{padding:0}.login-card.ant-card>.ant-card-body{padding:28px 24px 24px}.login-card.door-station.ant-card{border-top-color:#0e8f86}.login-card .login-kicker{letter-spacing:.12em;color:var(--blue);margin:0 0 8px;font-size:12px;font-weight:700}.login-card.door-station .login-kicker{color:#0b6e68}.login-card .ant-form-item{margin-bottom:14px}.login-screen.door-master{background:#e7eef8}.login-screen.door-station{background:#e6f4f2}.login-card h1{letter-spacing:-.02em;margin-bottom:4px;font-size:20px;font-weight:600}.login-card.door-station h1{margin-bottom:16px}.login-card .ant-card-body>p:not(.login-kicker){color:var(--muted);margin-bottom:14px;font-size:13px}.login-note{color:var(--muted);text-align:center;font-size:12px}.gate-screen{background:#e7e9ee;place-items:center;min-height:100vh;padding:24px;display:grid}.gate-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:min(400px,100%);padding:24px 20px;box-shadow:0 16px 40px #161c2614}.gate-card.ant-card{padding:0}.gate-card.ant-card>.ant-card-body{padding:28px 24px 18px}.gate-card .ant-form-item{margin-bottom:12px}.gate-card h1{letter-spacing:-.02em;margin:4px 0 6px;font-size:22px;font-weight:600}.gate-card>p{color:var(--muted);margin-bottom:16px;font-size:14px}.gate-shield{justify-content:center;margin-top:18px;display:flex}.gate-shield svg{width:42px;height:42px}.gate-shield svg path:first-child{fill:var(--blue-soft);stroke:var(--blue);stroke-width:2.2px}.gate-shield svg path:last-child{fill:none;stroke:var(--blue);stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round}.rich{background:#fff;border:1px solid #dbe3ef;border-radius:12px;overflow:hidden}.admin-content .rich{border-radius:8px;max-width:480px}.rich-bar{background:#f8fafc;border-bottom:1px solid #e6edf5;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;display:flex}.swatch{border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 0 0 1px #cbd5e1}.rich-body{outline:none;min-height:108px;padding:8px 10px;line-height:1.6}.rich-body p{margin:0 0 6px}.logo-upload{border:1px dashed var(--line-strong);cursor:pointer;width:96px;min-height:64px;color:var(--ink-soft);text-align:center;background:#fafbfc;border-radius:8px;place-items:center;padding:6px;font-size:12px;display:grid}.logo-upload img{object-fit:contain;width:72px;height:72px}.avatar-upload{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.avatar-upload .logo-upload{width:72px;height:72px;min-height:72px;overflow:hidden}.avatar-upload .logo-upload img{object-fit:cover;border-radius:8px;width:72px;height:72px}.avatar-upload .btn{width:auto}.check-list{gap:6px;display:grid}.check-list label{border:1px solid var(--line);background:#f7f8fa;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.admin-content .field,.login-card .field{gap:2px;margin-bottom:4px}.admin-content .field{max-width:420px}.admin-content .field>span{font-size:12px}.admin-content .input,.login-card .input{border-radius:6px;padding:4px 8px;font-size:13px}.admin-content textarea.input{min-height:44px}.admin-content .check,.login-card .check{margin-bottom:4px;font-size:13px}.admin-content .stack{gap:4px}.admin-content .inline-row>.input{flex:none;width:140px;max-width:140px}.admin-content .lead{margin-bottom:4px}.admin-content .muted{font-size:12px}.admin-content .form-error,.admin-content .form-ok,.login-card .form-error{padding:4px 8px;font-size:12px}.admin-content .btn:not(.tiny),.login-card .btn{padding:4px 10px;font-size:13px}.field-label{color:var(--ink-soft);font-size:12px;font-weight:600}.key-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.admin-content .phone-scroll .field{gap:6px;max-width:none;margin-bottom:12px}.admin-content .phone-scroll .field>span,.admin-content .phone-scroll .muted{font-size:13px}.admin-content .phone-scroll .input,.admin-content .phone-scroll select,.admin-content .phone-scroll textarea{border-radius:12px;width:100%;max-width:none;padding:11px 12px;font-size:16px}.admin-content .phone-scroll textarea.input{min-height:72px}.admin-content .phone-scroll .check{margin-bottom:12px}.admin-content .phone-scroll .stack{gap:12px}.admin-content .phone-scroll .stack.tight{gap:8px}.admin-content .phone-scroll .lead{margin-bottom:12px}.admin-content .phone-scroll .form-error,.admin-content .phone-scroll .form-ok{padding:10px 12px}.admin-content .phone-scroll .btn{border-radius:8px;padding:10px 14px;font-size:14px}.admin-content .phone-scroll .btn.block{border-radius:8px;min-height:46px;font-size:16px}.popup-card{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;padding:4px 2px 2px;display:grid}.popup-card.popup-card-actions{grid-template-columns:56px minmax(0,1fr) auto}.popup-card.popup-card-actions>.popup-actions{grid-area:1/3;place-self:center end}.popup-card img,.popup-card .brand-mark{object-fit:contain;border-radius:8px;width:56px;height:56px}.popup-card p{min-width:0;color:var(--ink-soft);margin:0;line-height:1.55}.popup-actions{flex-direction:column;align-items:stretch;gap:6px;display:flex}.popup-actions .btn{box-sizing:border-box;white-space:nowrap;width:100%;min-width:calc(4em + 28px)}.sort-field{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.sort-field span{white-space:nowrap}.sort-field input{font-variant-numeric:tabular-nums;width:64px}.site-switch{color:var(--ink-soft);align-items:center;gap:8px;margin-right:auto;font-size:13px;display:inline-flex}.site-switch select{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:6px;padding:4px 8px}.visit-list{margin:0;padding:0;list-style:none;display:grid}.visit-list li{font-variant-numeric:tabular-nums;border-bottom:1px solid #f0f2f5;align-items:baseline;gap:8px;padding:4px 0;font-size:12px;display:flex}.visit-list small{color:var(--muted)}.admin-content .phone-scroll .home-btn-label{font-weight:500}.btn.orange{color:#fff;background:#f5a623;border-color:#f5a623}.page-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head-main{align-items:center;gap:8px;min-width:0;display:flex}.page-head .a-title{margin:0}.page-back{color:#1a56c4;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.page-back:hover{color:#14479f}.page-head-extra{align-items:center;gap:8px;margin-left:auto;display:flex}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:520px;overflow:auto}.ops-table{border-collapse:collapse;width:100%;font-size:13px}.ops-table th,.ops-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px}.ops-table th{background:#f8fafc;position:sticky;top:0}.ops-code{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.ops-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ops-log{white-space:pre-wrap;background:#f8fafc;border-radius:8px;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.ops-log-line{white-space:pre-wrap}.ops-log-error{color:#9f1239;background:#fff1f2;border-radius:4px}.site-grid{grid-template-columns:repeat(auto-fill,minmax(480px,1fr));justify-content:start;gap:10px;display:grid}.site-overview-card.ant-card>.ant-card-body{padding:8px 10px}.site-overview-card .site-card-line{flex-wrap:wrap;align-items:center;gap:6px;min-height:26px;font-size:13px;line-height:1.2;display:flex}.site-overview-card .site-card-text{font-weight:600}.site-overview-card .site-card-placeholder{color:var(--muted)}.site-overview-card .site-card-sep{color:#8b93a1}.site-overview-card .site-card-pencil{width:22px;height:22px}.site-overview-card .site-card-link,.site-overview-card .site-card-date{font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.site-overview-card .site-card-status{font:inherit;cursor:pointer;background:#fff;border:1px solid #1f1f1f;border-radius:6px;align-items:center;gap:4px;min-height:22px;padding:0 6px;display:inline-flex}.site-overview-card .site-card-rule{background:#d9d9d9;height:1px;margin:6px 0}.site-overview-card .site-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:6px;display:grid}.admin-shell.door-master .admin-content .site-overview-card .site-card-actions .ant-btn{white-space:nowrap;width:100%;height:32px;padding-inline:6px;font-size:13px}.admin-shell.door-master .admin-content .site-overview-card .site-card-pencil.ant-btn{background:0 0;border:0;width:22px;height:22px;padding-inline:0}.site-card-date-pop{align-items:center;gap:8px;display:flex}.template-pick-list{gap:8px;display:grid}.template-pick{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;gap:2px;padding:10px 12px;display:grid}.template-pick.selected{border-color:#1a56c4;box-shadow:inset 0 0 0 1px #1a56c4}.template-pick span{color:var(--muted);font-size:12px}.site-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;padding:12px;display:grid}.site-card header{justify-content:space-between;gap:8px;display:flex}.site-card p{color:var(--muted);font-size:13px}.site-grid .desktop-switch{justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:13px;display:flex}.card-actions{flex-wrap:wrap;gap:6px;display:flex}.card-actions button{border:1px solid var(--line-strong);background:#fff;border-radius:6px;padding:4px 8px;font-size:12px}.button-picker{gap:4px;max-width:480px;display:grid}.button-pick{text-align:left;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.button-pick em{background:var(--blue-soft);width:28px;height:28px;color:var(--blue);border-radius:6px;place-items:center;font-style:normal;display:grid}.btn.ok{background:#12a33a}.btn.ok:hover{background:#0d8a30}.desk{align-content:start;gap:0;display:grid}.desk-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;width:100%;padding:6px 0 8px;display:flex}.desk-actions,.desk-search{flex:none;align-items:center;gap:6px;display:flex}.desk-search{margin-left:auto}.desk-search .input{border-radius:2px;width:128px;max-width:128px;height:26px;padding:2px 8px;font-size:12px}.desk-btn{color:#fff;white-space:nowrap;border:0;border-radius:3px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.desk-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.desk-btn.add{background:#21a34a}.desk-btn.del{background:#e23d32}.desk-btn.tpl{background:#a56a32}.desk-btn.query{background:#1a56c4}.desk-btn.reset{background:#8d96a3}.desk-btn:disabled{cursor:not-allowed}.desk-table{border:0;border-radius:0;max-width:none;max-height:none}.desk-table .ops-table th{background:#f3f4f6;padding:7px 10px;font-size:12px;font-weight:500}.desk-table .ops-table td{padding:7px 10px;font-size:12px}.desk-empty{text-align:center;color:#98a2b3;padding:22px 8px}.modal-card.desk-modal{border-top:0;width:max-content;max-width:min(430px,100vw - 32px);padding:10px 12px 12px}.desk-fields{grid-template-columns:180px 180px;gap:4px 10px;display:grid}.desk-fields .field{gap:1px;max-width:180px;margin:0}.desk-fields .field>span{font-size:12px}.desk-fields .input{border-radius:4px;width:180px;padding:3px 8px;font-size:12px}.desk-form-error{grid-column:1/-1;margin:0}.desk .filters{margin:8px 0}.staff-desk{align-content:start;gap:6px;display:grid}.staff-toolbar{flex-wrap:wrap;align-items:center;gap:8px;width:fit-content;max-width:100%;display:flex}.staff-actions,.staff-search{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.staff-search .input{flex:none;width:120px;max-width:120px;padding:3px 8px;font-size:12px}.staff-table{max-width:920px}.staff-desk .ops-table th,.staff-desk .ops-table td{padding:4px 8px;font-size:12px}.staff-empty{text-align:center;color:var(--muted);padding:18px 8px}.staff-photo-mini{object-fit:cover;background:#e6e9ee;border-radius:4px;width:28px;height:28px;display:block}.modal-card.staff-modal{border-top:0;border-radius:8px;width:max-content;max-width:min(420px,100vw - 32px);padding:10px 12px 12px}.staff-form{grid-template-columns:108px minmax(168px,210px);align-items:start;gap:6px 10px;display:grid}.staff-photo{cursor:pointer;color:var(--ink-soft);gap:4px;font-size:12px;font-weight:600;display:grid}.staff-photo img,.staff-photo svg{object-fit:cover;background:#fafbfc;border:1px dashed #c5ccd6;border-radius:6px;width:108px;height:92px}.staff-photo svg{padding:22px;display:block}.staff-photo svg path:first-child{fill:none;stroke:#98a2b3;stroke-width:1.6px}.staff-photo svg path:last-child{fill:none;stroke:#667084;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.staff-fields{gap:4px;display:grid}.staff-fields .field{gap:1px;max-width:210px;margin:0}.staff-fields .field>span{font-size:12px}.staff-fields .field>span:before,.staff-photo .req:before{content:"*";color:#d92d20;margin-right:3px}.staff-fields .input{border-radius:4px;padding:3px 8px;font-size:12px}.staff-form-error{grid-column:1/-1;margin:0}.staff-modal-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;gap:6px;margin-top:2px;padding-top:8px;display:flex}.staff-modal-actions .btn{min-height:0;padding:3px 12px;font-size:12px}.button-pick span{color:var(--muted);margin-left:auto;font-size:12px}.category-line,.category-other{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.category-line .input{flex:160px;width:auto;min-width:0}.category-line .btn,.category-other .btn{flex:none;min-height:44px}.category-line .category-other{flex:auto;min-width:0}.category-line .category-other .input{flex:120px;width:auto}.verify-shot{text-align:center;gap:10px;display:grid}.verify-shot h3{font-size:18px}.verify-result-title{font-weight:600}.verify-photo{color:#667084;background:#d9dde3;place-items:center;width:96px;height:96px;margin:0 auto;display:grid}.verify-facts{text-align:left;gap:4px;display:grid}.verify-facts div{gap:8px;display:flex}.verify-facts dt{color:var(--muted)}.verify-footer{color:#c2410c;font-size:13px}.contract-admin{grid-template-columns:390px minmax(0,1fr);align-items:start;gap:16px;display:grid}.device{background:#fff;border:12px solid #2b2118;border-radius:28px;min-height:640px;overflow:hidden}.device-status{justify-content:space-between;padding:8px 14px 0;font-size:12px;display:flex}.device-banner{color:#fff;background:#2f5f9f;border:0;width:100%;padding:14px 12px;font-size:16px}.device-name{text-align:center;color:#667084;border:0;width:calc(100% - 24px);margin:16px 12px;font-size:16px}.logo-slot,.contract-logo-slot{cursor:pointer;background:#d9dde3;place-items:center;width:130px;height:60px;margin:12px;display:grid;overflow:hidden}.logo-slot img,.contract-logo-slot{object-fit:contain;width:130px;height:60px}.seal-slot,.contract-seal{color:#b42318;border:2px solid #b42318;border-radius:50%;place-items:center;width:135px;height:135px;display:grid;overflow:hidden}.seal-slot img,.contract-seal{object-fit:contain;width:135px;height:135px}.seal-row{align-items:center;gap:12px;padding:12px;display:flex}.seal-notes{flex:1;gap:6px;display:grid}.contract-fixed,.contract-fixed dd{color:#98a2b3}.contract-fixed{grid-template-columns:1fr 1fr;gap:6px 12px;padding:0 12px 8px;display:grid}.contract-sheet{gap:8px;display:grid}.note-list{color:var(--ink-soft);gap:6px;margin:0;padding-left:18px;display:grid}.center{text-align:center}@media (width<=1100px){.split,.detail-split,.split.preview-left,.split.force-preview-left,.contract-admin{grid-template-columns:1fr}.phone-frame{position:static}.config-split{grid-template-columns:360px minmax(0,1fr)}.config-split>.phone-frame{order:-1;width:auto;position:sticky;top:16px;left:auto;right:auto}}@media (width<=860px){.config-split{grid-template-columns:1fr}.config-split>.phone-frame{width:auto;position:static;top:auto;right:auto}.admin{flex-direction:column}.side{width:auto;height:auto;position:static}.side nav{flex-direction:row;overflow:auto}.admin-content,.admin-top{padding:8px 10px}.admin-top{flex-wrap:wrap;justify-content:flex-start}.grid-2,.media-list li{grid-template-columns:1fr}.media-list img{width:100%;height:160px}}.cs-overlay{z-index:80;overscroll-behavior:none;background:#fff;width:100%;max-width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.cs-overlay-status{color:var(--muted);place-items:center;margin:0;font-size:15px;display:grid;position:absolute;inset:0}.cs-overlay iframe{background:#fff;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.cs-overlay-close{z-index:2;top:max(12px, env(safe-area-inset-top,0px));right:max(12px, env(safe-area-inset-right,0px));color:#1c2430;background:#fffffff5;border:0;border-radius:999px;place-items:center;width:44px;height:44px;padding:0;font-size:26px;line-height:1;display:grid;position:absolute;box-shadow:0 2px 10px #161c263d}.cs-overlay-close:active{background:#eef1f5}html.cs-chat-open,html.cs-chat-open body{overscroll-behavior:none;overflow:hidden}.seat-split.split.preview-left{grid-template-columns:360px minmax(0,1fr)}.cs-visitor-frame{width:360px;max-width:100%}.cs-visitor-frame .phone-scroll{background:#eef2f7}.cs-visitor{color:#1c2430;background:#eef2f7;flex-direction:column;height:100%;min-height:640px;display:flex}.cs-visitor-top{justify-content:center;padding:16px 12px 8px;display:flex}.cs-visitor-pill{background:#fff;border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:6px 14px 6px 6px;display:flex;box-shadow:0 4px 14px #161c2614}.cs-visitor-avatar{background:#1a56c4;border-radius:50%;flex:none;width:36px;height:36px;overflow:hidden}.cs-visitor-avatar img,.cs-visitor-fallback{object-fit:cover;width:100%;height:100%;display:block}.cs-visitor-who{flex-direction:column;min-width:0;display:flex}.cs-visitor-who strong{font-size:14px;line-height:1.2}.cs-visitor-who small{color:#667084;font-size:11px}.cs-visitor-log{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex}.cs-visitor-bubble{color:#1c2430;white-space:pre-wrap;word-break:break-word;background:#fff;border-radius:4px 14px 14px;align-self:flex-start;max-width:86%;padding:8px 12px;font-size:14px;line-height:1.45}.cs-visitor-composer{background:#fff;border-radius:999px;align-items:center;gap:8px;margin:8px 10px 12px;padding:6px 6px 6px 10px;display:flex}.cs-visitor-composer input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:14px}.cs-visitor-image,.cs-visitor-send{color:#1a56c4;cursor:default;background:0 0;border:0;place-items:center;display:grid}.cs-visitor-image{width:28px;height:28px}.cs-visitor-image svg,.cs-visitor-send svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.cs-visitor-send{color:#fff;background:#1a56c4;border-radius:50%;width:34px;height:34px}.preview-stage:has(.cs-preview-overlay){min-height:640px}.cs-preview-overlay{background:#fff;position:absolute;inset:0;overflow:hidden}.cs-preview-overlay .cs-overlay-close{pointer-events:none}.cs-preview-copy{gap:8px;padding:68px 18px 18px;display:grid}.cs-preview-copy h2{font-size:18px;font-weight:600}@media (prefers-reduced-motion:reduce){.carousel-track,.pending-mark,.skeleton,.cs-overlay,.btn{transition:none;animation:none}.pending-mark{border-color:var(--blue)}}.admin-shell{background:#f5f6f8;min-height:100vh}.admin-shell>.ant-layout{background:#fff;min-width:0}.admin-sider{color:#d5dbe4;height:100vh;top:0;overflow:auto;position:sticky!important}.admin-sider .side-brand{padding:14px 16px 10px}.admin-sider .side-brand strong{color:#fff;font-size:14px}.admin-sider .side-brand small{color:#9aa6b5}.admin-sider .ant-menu-dark.ant-menu-inline .ant-menu-item-selected{box-shadow:inset 3px 0 #1a56c4}.admin-shell.door-station .side-brand span{background:#0e8f86}.admin-shell.door-station .ant-menu-dark.ant-menu-inline .ant-menu-item-selected{box-shadow:inset 3px 0 #7dcec6}.admin-shell.door-station .door-pill.ant-tag{color:#0b6e68;background:#e5f6f4;border-color:#b7e4df}.nav-label{justify-content:space-between;align-items:center;gap:8px;width:100%;display:inline-flex}.admin-shell .admin-top{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:8px;line-height:1.2;display:flex;position:sticky;top:0}.admin-shell .site-switch{margin-right:0}.admin-shell .admin-user{margin-left:4px}.admin-shell .top-back.ant-btn,.admin-shell .top-back-slot{margin-right:auto;padding-inline:0}.admin-shell .top-back.ant-btn{height:auto}.desk-toolbar{border-bottom-color:#eef0f3}.desk-filters{margin:8px 0}.approval-drawer .approval-review-head{margin-bottom:12px}.approval-drawer .approval-meta{margin:8px 0 0}.approval-drawer .approval-decision{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.desk .ant-table{font-size:12px}.ant-btn.desk-tone-add{color:#fff;background:#21a34a;border-color:#21a34a}.ant-btn.desk-tone-add:not(:disabled):hover{color:#fff!important;background:#1b8c3f!important;border-color:#1b8c3f!important}.ant-btn.desk-tone-tpl{color:#fff;background:#a56a32;border-color:#a56a32}.ant-btn.desk-tone-tpl:not(:disabled):hover{color:#fff!important;background:#8d5a2a!important;border-color:#8d5a2a!important}.ant-btn.desk-tone-reset{color:#fff;background:#8d96a3;border-color:#8d96a3}.ant-btn.desk-tone-reset:not(:disabled):hover{color:#fff!important;background:#7b8491!important;border-color:#7b8491!important}.ant-modal .field{gap:4px;margin-bottom:10px}.ant-modal .field>span{font-size:12px}.ant-modal .grid-2{grid-template-columns:1fr 1fr;max-width:none}.ant-modal .staff-form,.ant-modal .desk-fields{margin-top:4px}.ops-card{max-width:720px;margin-top:8px}.ops-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0;display:flex}.ops-toolbar .ant-input-search{width:240px;max-width:100%}.ops-toolbar .ant-input-search .ant-input,.ops-toolbar .ant-input{height:24px;font-size:12px}.admin-shell .admin-content{background-color:#f6f7f9;background-image:linear-gradient(90deg,#1c24300b 1px,#0000 1px),linear-gradient(#1c24300b 1px,#0000 1px);background-size:20px 20px}.admin-shell .admin-content .ant-table,.admin-shell .admin-content .ant-table-container,.admin-shell .admin-content .ant-card,.admin-shell .admin-content .ops-table,.admin-shell .admin-content .card,.admin-shell .phone-frame,.admin-shell .phone-scroll,.admin-shell .preview-stage{background-color:#fff}.admin-content .ant-table-wrapper .ant-table-thead>tr>th,.admin-content .ant-table-wrapper .ant-table-tbody>tr>td,.admin-content .ops-table th,.admin-content .ops-table td{border-inline-end:1px solid #e6eaf0;border-bottom:1px solid #e6eaf0}.admin-content .ant-table-wrapper .ant-table,.admin-content .table-wrap{border:1px solid #e6eaf0;border-radius:4px}.admin-shell.door-master .admin-content .ant-btn{width:fit-content;height:24px;padding-inline:8px;font-size:13px;line-height:22px}.admin-shell.door-master .admin-content .ant-btn-primary,.admin-shell.door-master .admin-content .ant-btn-default,.admin-shell.door-master .admin-content .ant-btn-dangerous{border-style:solid;border-width:1px}.admin-shell.door-master .admin-content .ant-btn-link,.admin-shell.door-master .admin-content .ant-btn-text{background:#fff;border:1px solid #c5cedb;width:fit-content;height:24px;padding-inline:8px}.admin-shell.door-master .admin-content .btn{border:1px solid #2457c5;width:fit-content}.login-lock-form{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.login-lock-form .field{min-width:180px}.ops-offline-time{flex:none;width:120px}.ops-column-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 8px;display:flex}.ops-column-head h2{margin:0}.ops-beat-line{flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.ops-beat-line .ant-input{text-align:center;flex:none;width:56px;height:28px}.ops-detail-actions{margin:0 0 10px}.ops-detail-actions .ops-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ops-columns{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.ops-column{background:#fff;border:1px solid #e6eaf0;border-radius:6px;min-width:0;padding:10px 12px}.ops-column h2{margin:0;font-size:14px;font-weight:600}.ops-batch{align-items:center;gap:6px;display:inline-flex}.ops-clock{color:#3a4250;align-items:center;gap:6px;font-size:12px;display:inline-flex}.ops-log-title{margin:8px 0 4px;font-size:13px}@media (width<=1100px){.ops-columns{grid-template-columns:1fr}}.ops-clip{align-items:center;gap:2px;min-width:0;display:inline-flex}.ops-clip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ops-clip-more{cursor:pointer;color:#2457c5;background:0 0;border:0;padding:0 2px}.ops-clip-full{word-break:break-all}.admin-shell.door-master .ops-actions{gap:2px}.admin-shell.door-master .ant-table.ant-table-small .ant-table-cell{padding-block:3px}.admin-shell.door-master .page-head{align-items:center;gap:8px}.site-grid .ant-card .muted{margin:0 0 6px}.admin-content .btn{box-shadow:none}.field .ant-input,.field .ant-input-affix-wrapper,.field .ant-select{width:100%;max-width:100%}.admin-shell.door-station .ant-table-wrapper .ant-table-bordered>.ant-table-container{border:1px solid #d5dae3;border-radius:8px;overflow:hidden}.admin-shell.door-station .ant-table-wrapper .ant-table-bordered .ant-table-cell,.admin-shell.door-station .ant-table-wrapper .ant-table-thead>tr>th{border-color:#d5dae3}.admin-shell.door-station .ops-table th,.admin-shell.door-station .ops-table td{border-bottom-color:#d5dae3;border-right:1px solid #d5dae3}.admin-shell.door-station .ops-table th:last-child,.admin-shell.door-station .ops-table td:last-child{border-right:0}.admin-shell.door-station .table-wrap{border-color:#d5dae3}.admin-shell.door-station .admin-content:has(.contract-desk){min-width:0}.admin-shell.door-station .contract-desk,.admin-shell.door-station .contract-desk .desk,.admin-shell.door-station .contract-desk .ant-table-wrapper{min-width:0;max-width:100%}.admin-shell.door-station .contract-desk .ant-table-wrapper .ant-table-bordered>.ant-table-container{scrollbar-color:#b7c0cc #f3f4f6;scrollbar-width:thin;overflow:auto}.admin-shell.door-station .contract-desk .ant-table-container::-webkit-scrollbar{height:8px}.admin-shell.door-station .contract-desk .ant-table-container::-webkit-scrollbar-thumb{background:#b7c0cc;border-radius:8px}.admin-shell.door-station .contract-desk .ant-table-container::-webkit-scrollbar-track{background:#f3f4f6}.admin-shell.door-station .contract-desk .ant-table-content{overflow:visible!important}.admin-shell.door-station .contract-desk .ant-table-content>table{width:var(--contract-table-width)!important;min-width:0!important;max-width:var(--contract-table-width)!important;table-layout:fixed!important}.admin-shell.door-station .admin-content .grid-2{background:var(--line-strong);border:1px solid var(--line-strong);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:640px;overflow:hidden}.admin-shell.door-station .admin-content .grid-2>.field,.admin-shell.door-station .admin-content .grid-2>.icon-picker{background:#fff;max-width:none;margin:0;padding:8px 10px}.admin-shell.door-station .admin-content .card>.btn-row{background:var(--line-strong);border:1px solid var(--line-strong);border-bottom:0;border-radius:0;grid-template-columns:72px 36px minmax(120px,1fr) auto;gap:1px;width:100%;max-width:640px;margin:0 10px;padding:0;overflow:hidden}.admin-shell.door-station .admin-content .card>.btn-row:first-of-type{border-radius:6px 6px 0 0}.admin-shell.door-station .admin-content .card>.btn-row:last-of-type{border-bottom:1px solid var(--line-strong);border-radius:0 0 6px 6px}.admin-shell.door-station .admin-content .card>.btn-row:first-of-type:last-of-type{border-radius:6px}.admin-shell.door-station .admin-content .card>.btn-row>*{background:#fff;min-width:0;margin:0;padding:6px 8px}.admin-shell.door-station .media-list{background:var(--line-strong);border:1px solid var(--line-strong);border-radius:6px;gap:1px;margin-top:8px;overflow:hidden}.admin-shell.door-station .media-list li{background:var(--line-strong);border:0;gap:1px;padding:0}.admin-shell.door-station .media-list li>*{background:#fff;padding:8px}.admin-shell.door-station .number-grid,.admin-shell.door-station .kv-grid{background:var(--line-strong);border:1px solid var(--line-strong);border-radius:6px;gap:1px;margin:0;display:grid;overflow:hidden}.admin-shell.door-station .number-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.admin-shell.door-station .kv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell.door-station .station-brief{background:var(--line-strong);border:1px solid var(--line-strong);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.admin-shell.door-station .station-brief>div{background:#fff;gap:4px;min-width:0;padding:10px 12px;display:grid}.admin-shell.door-station .station-brief span{color:var(--muted);font-size:12px}.admin-shell.door-station .station-brief strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.admin-shell.door-station .number-grid>div,.admin-shell.door-station .kv-grid>div{background:#fff;gap:2px;min-width:0;padding:8px 10px;display:grid}.admin-shell.door-station .number-grid span,.admin-shell.door-station .kv-grid dt{color:var(--muted);font-size:12px;font-weight:500}.admin-shell.door-station .number-grid strong,.admin-shell.door-station .kv-grid dd{font-variant-numeric:tabular-nums;word-break:break-all;margin:0;font-size:13px}.admin-shell.door-station .visit-list{background:var(--line-strong);border:1px solid var(--line-strong);border-radius:6px;gap:1px;overflow:hidden}body.door-station .ant-btn-variant-solid,body.door-station .ant-btn-primary{--ant-btn-border-color:#0c3278;--ant-btn-border-color-hover:#0c3278;--ant-btn-border-color-active:#082456}body.door-station .ant-btn-dangerous.ant-btn-variant-solid,body.door-station .ant-btn-color-dangerous.ant-btn-variant-solid,body.door-station .ant-btn-primary.ant-btn-dangerous{--ant-btn-border-color:#8f1d16;--ant-btn-border-color-hover:#8f1d16;--ant-btn-border-color-active:#6d120e}body.door-station .ant-btn.desk-tone-add{--ant-btn-border-color:#146b2e;--ant-btn-border-color-hover:#146b2e;--ant-btn-border-color-active:#0f5222;border-color:#146b2e}body.door-station .ant-btn.desk-tone-tpl{--ant-btn-border-color:#6e4318;--ant-btn-border-color-hover:#6e4318;--ant-btn-border-color-active:#4e2e10;border-color:#6e4318}body.door-station .ant-btn.desk-tone-reset{--ant-btn-border-color:#5c6572;--ant-btn-border-color-hover:#5c6572;--ant-btn-border-color-active:#434b56;border-color:#5c6572}body.door-station .ant-btn-variant-link,body.door-station .ant-btn-variant-text,body.door-station .ant-btn-link,body.door-station .ant-btn-text{--ant-btn-border-color:#8b97a8;--ant-btn-border-color-hover:#1a56c4;--ant-btn-border-color-active:#14479f;--ant-btn-bg-color:#fff;--ant-btn-bg-color-hover:#f4f7fc;--ant-btn-bg-color-active:#e8eef8}body.door-station .ant-btn-dangerous.ant-btn-variant-link,body.door-station .ant-btn-dangerous.ant-btn-variant-text,body.door-station .ant-btn-dangerous.ant-btn-link,body.door-station .ant-btn-dangerous.ant-btn-text{--ant-btn-border-color:#e23d32;--ant-btn-border-color-hover:#9f1d16;--ant-btn-border-color-active:#9f1d16;--ant-btn-text-color:#e23d32}body.door-station .admin-content .btn,body.door-station .page-back{border:1px solid #0c3278;border-radius:6px}body.door-station .admin-content .btn.secondary,body.door-station .admin-content .btn.ghost,body.door-station .page-back{box-shadow:none;background:#fff;border-color:#8b97a8}body.door-station .admin-content .btn.danger{border-color:#8f1d16}body.door-station .page-back{padding:2px 8px}body.door-station .admin-content .btn:not(.block),body.door-station .admin-content .ant-btn,body.door-station .page-back{flex:none;place-self:flex-start start;width:fit-content;max-width:100%}body.door-station .phone-scroll .btn,body.door-station .preview-modal .btn{border:0;border-radius:8px;box-shadow:0 1px 2px #1a56c429}body.door-station .phone-scroll .btn.secondary,body.door-station .preview-modal .btn.secondary{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);background:#fff}body.door-station .phone-scroll .btn.block,body.door-station .preview-modal .btn.block,body.door-station .phone-scroll .popup-actions .btn,body.door-station .preview-modal .popup-actions .btn{width:100%}body.door-station .phone-scroll .popup-actions .btn,body.door-station .preview-modal .popup-actions .btn{background:var(--blue);color:#fff;border:0;box-shadow:0 1px 2px #1a56c429}.admin-shell.door-station .visit-list li{background:#fff;border:0;grid-template-columns:minmax(96px,160px) minmax(0,1fr) auto;gap:8px;margin:0;padding:6px 10px;display:grid}.admin-shell.door-station .admin-sider .side-brand strong{font-size:16px}.admin-shell.door-station .admin-sider .side-brand small{font-size:13px}.admin-shell.door-station .admin-sider .ant-menu,.admin-shell.door-station .admin-sider .ant-menu-item,.admin-shell.door-station .admin-sider .ant-menu-title-content,.admin-shell.door-station .admin-top,.admin-shell.door-station .site-switch,.admin-shell.door-station .admin-user,.admin-shell.door-station .page-back{font-size:15px}.admin-shell.door-station .a-title{font-size:18px}.admin-shell.door-station .a-desc,.admin-shell.door-station .card h3,.admin-shell.door-station .admin-content .field>span,.admin-shell.door-station .admin-content .muted,.admin-shell.door-station .field-label,.admin-shell.door-station .admin-content .form-error,.admin-shell.door-station .admin-content .form-ok,.admin-shell.door-station .filters button,.admin-shell.door-station .tabs button,.admin-shell.door-station .sort-field,.admin-shell.door-station .slot-no,.admin-shell.door-station .visit-list li,.admin-shell.door-station .logo-upload,.admin-shell.door-station .preview-stages button,.admin-shell.door-station .phone-frame>p,.admin-shell.door-station .station-brief span,.admin-shell.door-station .number-grid span,.admin-shell.door-station .kv-grid dt,.admin-shell.door-station .button-pick span{font-size:14px}.admin-shell.door-station .tabs button em{font-size:13px}.admin-shell.door-station .admin-content .lead,.admin-shell.door-station .check-list label{font-size:16px}.admin-shell.door-station .admin-content .input,.admin-shell.door-station .admin-content .check,.admin-shell.door-station .admin-content .btn,.admin-shell.door-station .admin-content .btn.tiny,.admin-shell.door-station .approval-list a{font-size:15px}.admin-shell.door-station .station-brief strong{font-size:17px}.admin-shell.door-station .desktop-switch{justify-content:space-between;align-items:center;gap:16px;margin-top:4px;display:flex}.admin-shell.door-station .desktop-switch strong{font-size:15px}.admin-shell.door-station .desktop-switch p{margin:4px 0 0}.admin-shell.door-station .number-grid strong,.admin-shell.door-station .kv-grid dd,.admin-shell.door-station .admin-content .ant-table,.admin-shell.door-station .admin-content .ant-table.ant-table-small,.admin-shell.door-station .admin-content .ant-pagination,.admin-shell.door-station .admin-content .ant-btn,.admin-shell.door-station .admin-content .ant-btn.ant-btn-sm,.admin-shell.door-station .admin-top .ant-btn,.admin-shell.door-station .admin-top .ant-btn.ant-btn-sm,.admin-shell.door-station .admin-content .ant-input,.admin-shell.door-station .admin-content .ant-input-sm,.admin-shell.door-station .admin-content .ant-input-affix-wrapper,.admin-shell.door-station .admin-content .ant-select,.admin-shell.door-station .admin-content .ant-select-selector,.admin-shell.door-station .admin-content .ant-segmented,.admin-shell.door-station .admin-content .ant-segmented-item,.admin-shell.door-station .admin-content .ant-tag,.admin-shell.door-station .admin-content .ant-alert,.admin-shell.door-station .admin-content .ant-card .ant-card-head-title,.admin-shell.door-station .admin-content .ant-form-item-label>label,.admin-shell.door-station .admin-content .ant-empty-description,.admin-shell.door-station .ops-table,.admin-shell.door-station .ops-table th,.admin-shell.door-station .ops-table td,.admin-shell.door-station .desk-table .ops-table th,.admin-shell.door-station .desk-table .ops-table td,.admin-shell.door-station .staff-desk .ops-table th,.admin-shell.door-station .staff-desk .ops-table td,.admin-shell.door-station .desk .ant-table,.admin-shell.door-station .desk-btn,.admin-shell.door-station .desk-search .input,.admin-shell.door-station .desk-fields .field>span,.admin-shell.door-station .desk-fields .input,.admin-shell.door-station .staff-search .input,.admin-shell.door-station .staff-photo,.admin-shell.door-station .staff-fields .field>span,.admin-shell.door-station .staff-fields .input,.admin-shell.door-station .staff-modal-actions .btn,.admin-shell.door-station .card-actions button{font-size:15px}body.door-station .ant-modal .ant-modal-title,body.door-station .ant-drawer .ant-drawer-title{font-size:16px}body.door-station .ant-modal .ant-btn,body.door-station .ant-modal .ant-btn.ant-btn-sm,body.door-station .ant-modal .ant-input,body.door-station .ant-modal .ant-input-sm,body.door-station .ant-modal .field>span,body.door-station .ant-modal .staff-photo,body.door-station .ant-drawer .ant-btn,body.door-station .ant-drawer .ant-btn.ant-btn-sm,body.door-station .ant-drawer .ant-input,body.door-station .ant-drawer .field>span,body.door-station .ant-drawer .muted,body.door-station .ant-drawer .ant-card .ant-card-head-title,body.door-station .ant-select-dropdown,body.door-station .ant-select-dropdown .ant-select-item{font-size:15px}.admin-shell.door-station .admin-content .btn.tiny,.admin-shell.door-station .card-actions button,.admin-shell.door-station .desk-btn,.admin-shell.door-station .desk-search .input,.admin-shell.door-station .desk-fields .field>span,.admin-shell.door-station .desk-fields .input,.admin-shell.door-station .staff-search .input,.admin-shell.door-station .staff-photo,.admin-shell.door-station .staff-fields .field>span,.admin-shell.door-station .staff-fields .input,.admin-shell.door-station .staff-modal-actions .btn,body.door-station .ant-modal .field>span,body.door-station .ant-modal .staff-photo{font-size:14px}.admin-shell.door-station .admin-content .phone-scroll .field>span,.admin-shell.door-station .admin-content .preview-modal .field>span,.admin-shell.door-station .admin-content .phone-scroll .muted,.admin-shell.door-station .admin-content .preview-modal .muted{font-size:13px}.admin-shell.door-station .admin-content .phone-scroll .lead,.admin-shell.door-station .admin-content .preview-modal .lead{font-size:14px}.admin-shell.door-station .admin-content .phone-scroll .input,.admin-shell.door-station .admin-content .phone-scroll select,.admin-shell.door-station .admin-content .phone-scroll textarea,.admin-shell.door-station .admin-content .preview-modal .input,.admin-shell.door-station .admin-content .preview-modal select,.admin-shell.door-station .admin-content .preview-modal textarea{font-size:16px}.admin-shell.door-station .admin-content .phone-scroll .btn,.admin-shell.door-station .admin-content .preview-modal .btn{font-size:14px}.admin-shell.door-station .admin-content .phone-scroll .btn.block,.admin-shell.door-station .admin-content .preview-modal .btn.block{font-size:16px}.admin-shell.door-station .admin-content .phone-scroll .btn.tiny,.admin-shell.door-station .admin-content .preview-modal .btn.tiny{font-size:12px}@media (width<=860px){.admin-shell:not(.door-master){flex-direction:column}.admin-shell:not(.door-master)>.ant-layout-sider.admin-sider{height:auto;flex:none!important;width:100%!important;min-width:0!important;max-width:none!important;position:static!important}.admin-shell:not(.door-master) .admin-sider .ant-menu-inline{display:flex;overflow:auto}.admin-shell:not(.door-master) .admin-sider .ant-menu-inline .ant-menu-item{flex:none;width:auto}.admin-shell .admin-top{flex-wrap:wrap;height:auto;padding-block:8px}.admin-shell.door-master{min-width:0}.admin-shell.door-master>.ant-layout{width:100%;min-width:0}.admin-shell.door-master .admin-content{min-width:0;overflow-x:hidden}.admin-shell.door-master .master-nav-toggle.ant-btn{width:32px;height:32px;padding-inline:0;font-size:18px}.admin-shell.door-master .site-grid{grid-template-columns:minmax(0,1fr)}.admin-shell.door-master .page-head{flex-wrap:wrap;align-items:flex-start}.admin-shell.door-master .site-overview-card{min-width:0}.admin-shell.door-master .site-overview-card .site-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell.door-master .ant-table-wrapper{max-width:100%;overflow-x:auto}.admin-shell.door-master .ant-pagination{flex-wrap:wrap;row-gap:6px}}.master-nav-drawer .ant-drawer-title,.master-nav-drawer .ant-drawer-close{color:#fff}.master-nav-drawer .ant-menu-dark{background:0 0}
