:root{font-family:"Segoe UI",Tahoma,sans-serif;color:#183650;background:#eef3f8;font-size:15px;line-height:1.5;--blue:#1466ad;--navy:#123552;--line:#d4e0ea;--muted:#526a7c;--red:#a92837;--green:#146449}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:244px;background:var(--navy);color:#e4f0fa;padding:30px 18px;display:flex;flex-direction:column}.brand{font-size:26px;font-weight:700;letter-spacing:-1px}.brand span{font-weight:400;color:#75c9ef}.edition{margin:10px 0 38px;color:#b2cbdc}.edition small{display:block;font-size:12px}nav{display:grid;gap:8px}nav button{text-align:left;background:transparent;color:#d5e6f4;border:0;border-left:3px solid transparent;padding:13px 12px}nav button.active{background:#244c6b;border-left-color:#75c9ef}.sidebar-bottom{margin-top:auto;font-size:13px;color:#b2cbdc}.sidebar-bottom button{font-size:13px;background:transparent;border-color:#56758d;color:white;margin-right:8px}main{margin-left:244px;max-width:1600px;padding:34px 46px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}h1{font-size:29px;line-height:1.2;margin:10px 0 0;font-weight:650}h2{font-size:18px;margin:0 0 16px;font-weight:650}p{max-width:80ch}.environment{color:var(--muted);font-size:13px}.panel{background:white;border:1px solid var(--line);border-radius:8px;padding:25px;margin:20px 0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.panel-title h2{margin:0}button{border:1px solid transparent;border-radius:5px;background:var(--blue);color:white;font:inherit;font-weight:600;padding:9px 16px;cursor:pointer}button:hover{filter:brightness(.94)}button.secondary{background:white;color:var(--navy);border-color:#b5c9d9}button.danger{background:white;color:var(--red);border-color:#dba7ad}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #b2790a;outline-offset:3px}input,select{display:block;width:100%;font:inherit;padding:10px 12px;border:1px solid #99b2c6;border-radius:4px;margin:7px 0 18px;background:white;color:#183650}label{display:block;font-size:14px;font-weight:600}form{max-width:1000px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.wide{grid-column:1/-1}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto;margin:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 4px}.muted,.scope{color:var(--muted);font-size:14px}.note{padding:14px 18px;background:#edf5fc;border-left:3px solid #5089b8;font-size:14px}.route-strip{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#dfedf8;border-radius:8px;padding:24px 30px;border:1px solid #bed5e7}.route-strip b{display:block;font-size:19px}.route-strip span{display:block;color:var(--muted);font-size:14px;margin-top:4px}.route-link{text-align:center;color:var(--blue);font-size:30px;flex:1}.route-link small{display:block;font-size:12px}.summary{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;border:1px solid var(--line);border-radius:8px;background:white}.summary article{padding:22px 26px}.summary article+article{border-left:1px solid var(--line)}.summary h2{font-size:14px;color:var(--muted);margin-bottom:8px}.summary strong{font-size:27px;font-weight:650}.summary p{margin:5px 0 0;font-size:13px;color:var(--muted)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{color:var(--muted);font-weight:600;border-bottom:2px solid var(--line);padding:12px 10px}td{padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:top;max-width:360px;overflow-wrap:anywhere}td small{display:block;color:var(--muted);margin-top:5px}td button{font-size:12px;padding:6px 9px;margin:2px}.badge{display:inline-block;border-radius:4px;padding:3px 8px;font-size:12px;background:#e7edf2;color:#466072;white-space:nowrap}.badge.good{background:#deefe7;color:var(--green)}.badge.bad{background:#fbe4e6;color:var(--red)}.connection-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;gap:20px}.connection-row p{margin:0}.connection-row small{display:block;color:var(--muted)}#notice{position:sticky;top:12px;z-index:5;padding:15px 20px;border:1px solid #a0c7b2;border-radius:6px;background:#e3f2eb;color:#174f3a;margin-bottom:20px;white-space:pre-wrap}#notice.error,.error{color:var(--red);background:#fcebed;border-color:#dba7ad}pre{font-family:Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:420px;overflow:auto}.login{display:grid;min-height:100vh;place-items:center;background:#e6eef5}.login-panel{margin:0;padding:44px;background:white;border:1px solid var(--line);border-radius:10px;width:min(480px,calc(100vw - 32px));box-shadow:0 12px 40px #12355212}.login-panel .brand{color:var(--navy)}.login-panel .brand span{color:var(--blue)}.login-panel h1{font-size:25px;margin-top:30px}.login-panel form{margin:28px 0}.login-panel button{width:100%}[hidden]{display:none!important}@media(max-width:1000px){aside{width:205px;padding:24px 12px}main{margin-left:205px;padding:28px 24px}.summary article{padding:18px}.route-strip{padding:20px}}@media(max-width:700px){aside{position:static;width:auto;padding:18px}.edition{margin:0 0 12px}nav{display:flex;overflow-x:auto}nav button{white-space:nowrap;padding:8px}.sidebar-bottom{display:flex;gap:12px;align-items:center;margin-top:12px}.sidebar-bottom p{display:none}main{margin:0;padding:22px 16px}.summary{grid-template-columns:1fr}.summary article+article{border-left:0;border-top:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.route-strip{gap:10px;padding:18px}.route-strip b{font-size:15px}.route-strip span{font-size:12px}.panel{padding:18px}.panel-title{align-items:flex-start;flex-wrap:wrap}h1{font-size:25px}.login-panel{padding:30px}}
:root .live-control{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:250px;vertical-align:top}.preview-help{display:block;color:var(--muted);font-size:12px;line-height:1.4;font-weight:400}button[data-live]:disabled{cursor:not-allowed;filter:none;opacity:.55}input:disabled{background:#f0f4f7;color:var(--muted);cursor:not-allowed}
.naming-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:20px}.customer-preview{border:1px solid #b8d1e4;background:#f2f8fd;border-radius:6px;padding:22px;margin:18px 0}.preview-heading{display:flex;align-items:center;gap:14px}.preview-heading b,.preview-heading small,.preview-heading span{display:block}.gateway-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.customer-preview blockquote{margin:16px 0;border-left:3px solid #1466ad;padding:14px 18px;background:white;white-space:pre-wrap;overflow-wrap:anywhere;min-height:52px}.customer-preview p{font-size:13px}.customer-preview input{background:white}.customer-preview [data-native-identity]{font-size:17px}.waiting-message{padding:14px 0;border-bottom:1px solid var(--line)}.waiting-message p{white-space:pre-wrap;overflow-wrap:anywhere}.waiting-message small{color:var(--muted)}details{margin:12px 0}summary{cursor:pointer;color:var(--blue);font-size:13px;font-weight:600}details code{display:block;overflow-wrap:anywhere;margin:10px 0}.file-import{max-width:450px;margin:20px 0}.file-import input{font-size:12px;padding:8px}.staff-name{min-width:170px}#mapping-staff-list td .checkbox{white-space:nowrap;margin:9px 0}#mapping-staff-list input[type=checkbox],#staff-directory input[type=checkbox]{width:auto;margin:0}#staff-directory td{max-width:400px}#accept-load-rooms{margin-top:29px}nav{overflow-y:auto}.sidebar-bottom{padding-top:20px}#inbox-message-list{max-height:340px;overflow:auto}@media(max-width:700px){.naming-grid{grid-template-columns:1fr}.customer-preview{padding:16px}.preview-heading b{font-size:14px}.gateway-avatar{width:38px;height:38px}.customer-preview blockquote{padding:12px}.live-control{max-width:220px}}
.preview-heading>div,.naming-grid>label,.form-grid>label{min-width:0}.preview-heading b{overflow-wrap:anywhere}.table-scroll{max-width:100%}.file-import button{display:block;margin-top:10px}

.room-model-box{border:1px solid var(--border,#d8e2eb);border-radius:6px;padding:16px;margin:12px 0;background:#f7fafc}.room-model-box h3{margin-top:0}.room-candidate{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #d8e2eb;padding:10px 0}.room-candidate input[type=checkbox]{width:auto;margin-top:4px}.room-candidate details{margin-left:auto}.room-model-box .form-grid{margin-top:12px}.staff-role{min-width:120px}
