
    :root{--ink:#16223a;--nav:#10243d;--blue:#1d5b91;--cyan:#33a6ad;--paper:#f4f7f9;--line:#dbe3e9;--muted:#687789;--white:#fff;--danger:#ba3b46;--ok:#278365;--warn:#b37017;--r:12px;--shadow:0 12px 35px rgba(16,36,61,.1)}
    *{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(51,166,173,.3);outline-offset:2px}
    .hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0d2037,#173d5d)}.login-card{width:min(420px,calc(100% - 32px));background:white;border-radius:18px;padding:36px;box-shadow:0 28px 80px #07111e80}.brand-mark{width:48px;height:48px;border:1px solid #6cc3c8;border-radius:50%;display:grid;place-items:center;color:var(--cyan);font:700 21px Georgia,serif}.login h1{margin:18px 0 4px;font:600 28px Georgia,"Songti SC",serif}.login p{color:var(--muted);margin:0 0 24px}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:650;color:#4a5b6d}.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;color:var(--ink)}.btn{border:0;border-radius:8px;padding:10px 14px;background:var(--blue);color:white;font-weight:650}.btn:hover{filter:brightness(.95)}.btn.ghost{background:#edf2f5;color:var(--ink)}.btn.danger{background:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}.login .btn{width:100%;margin-top:4px}
    .app{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}aside.app-sidebar{background:var(--nav);color:white;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.aside-brand{display:flex;align-items:center;gap:11px;padding:22px 18px 18px}.aside-brand-mark{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border:1px solid rgba(92,197,204,.8);border-radius:9px;color:#61c5cc;font:700 19px/1 Georgia,"Songti SC",serif;box-shadow:inset 0 0 0 1px rgba(92,197,204,.12)}.aside-brand-copy{min-width:0}.aside-brand b{display:block;font:600 17px/1.25 Georgia,"Songti SC",serif;white-space:nowrap}.aside-brand small{display:block;margin-top:4px;color:#98b4c9;font-size:11px;line-height:1.25;letter-spacing:.015em}.nav-caption{padding:3px 22px 10px;color:#7894aa;font-size:11px;font-weight:700;letter-spacing:.13em}.nav{flex:1;min-height:0;overflow-y:auto;padding:0 12px 16px;scrollbar-width:thin;scrollbar-color:rgba(152,180,201,.45) transparent}.nav::-webkit-scrollbar{width:5px}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{background:rgba(152,180,201,.42);border-radius:999px}.nav-group{border:0;border-top:1px solid rgba(255,255,255,.1);border-radius:0;background:transparent;overflow:visible;padding:5px 0}.nav-group:first-child{border-top:0}.nav-group summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 8px;color:#e4edf4;font-weight:750;cursor:pointer;list-style:none;border-radius:8px}.nav-group summary:hover{background:rgba(255,255,255,.045)}.nav-group summary:focus-visible{outline:3px solid rgba(51,166,173,.3);outline-offset:1px}.nav-group summary::-webkit-details-marker{display:none}.nav-summary-main{display:flex;align-items:center;min-width:0;gap:10px}.nav-icon{width:19px;height:19px;display:inline-grid;place-items:center;flex:0 0 19px;color:#a9c4d5}.nav-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-group[open] .nav-summary-main>.nav-icon,.nav-group[open] .nav-chevron{color:#5fc1c8}.nav-chevron{width:16px;height:16px;flex:0 0 16px;color:#86aabd;transition:transform .18s ease}.nav-chevron svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-group[open] .nav-chevron{transform:rotate(180deg)}.nav-children{position:relative;padding:1px 0 7px 29px}.nav-children::before{content:"";position:absolute;left:10px;top:5px;bottom:12px;width:1px;background:rgba(141,183,199,.3)}.nav button{position:relative;display:flex;align-items:center;width:100%;min-height:38px;border:0;background:transparent;color:#b9cad7;padding:8px 9px 8px 18px;text-align:left;border-radius:8px;line-height:1.35}.nav button::before{content:"";position:absolute;left:-22px;top:50%;width:7px;height:7px;border:1.5px solid #83a7bc;border-radius:50%;background:var(--nav);transform:translateY(-50%)}.nav button:hover{background:rgba(255,255,255,.055);color:#f3f7fa}.nav button.active{background:rgba(49,111,151,.23);color:#67cbd1;box-shadow:inset 3px 0 var(--cyan);font-weight:700}.nav button.active::before{border-color:#62c8ce;background:#62c8ce;box-shadow:0 0 0 3px rgba(98,200,206,.12)}.aside-utilities{flex:0 0 auto;padding:10px 14px 12px;border-top:1px solid rgba(255,255,255,.12);background:#112943}.aside-utility-label{padding:0 6px 5px;color:#7894aa;font-size:11px;font-weight:700;letter-spacing:.13em}.aside-utilities button{width:100%;border:0;background:transparent;color:#d7e3eb;display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 9px;border-radius:8px;text-align:left}.aside-utilities button:hover{background:rgba(255,255,255,.055);color:#fff}.aside-utilities button.active{background:rgba(49,111,151,.23);color:#67cbd1;box-shadow:inset 3px 0 var(--cyan)}.aside-utilities .nav-important:not(.active){color:#f3f7fa}.aside-utilities .nav-badge{margin-left:auto}.aside-logout{margin-top:8px;border:1px solid rgba(184,205,218,.36)!important;color:#dce7ee!important;justify-content:center}.aside-logout:hover{border-color:rgba(184,205,218,.58)!important}.aside-logout .nav-icon{width:18px;height:18px;flex-basis:18px}
    main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar h1{font:600 27px Georgia,"Songti SC",serif;margin:0}.content{padding:28px 30px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--cyan);font-weight:750}.intro{margin-bottom:20px}.intro h2{margin:3px 0;font:600 27px Georgia,"Songti SC",serif}.intro p{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 4px 16px #10243d08}.stat{padding:22px;border-top:3px solid var(--cyan);text-align:left;transition:.18s transform,.18s box-shadow}.stat.actionable{cursor:pointer}.stat.actionable:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat span{color:var(--muted)}.stat strong{display:block;font:600 34px Georgia,serif;margin-top:6px}.stat small{color:var(--blue)}.panel{overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{margin:0;font-size:16px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar input,.toolbar select{width:auto;min-width:150px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:880px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #e8edf0;vertical-align:top}th{background:#f8fafb;color:#516174;font-size:12px;white-space:nowrap}td.actions{white-space:nowrap}.tag{display:inline-block;padding:3px 8px;border-radius:999px;background:#e9f2f6;color:#345b73;font-size:12px}.tag.ok{background:#e5f4ee;color:var(--ok)}.tag.warn{background:#fff1d9;color:var(--warn)}.tag.bad{background:#fae7e9;color:var(--danger)}.control-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#f8fcfd,#fff)}.control-card h4{margin:0 0 4px;font-size:16px}.control-card p{margin:0;color:var(--muted)}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;font-weight:650}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-slider{width:54px;height:30px;border-radius:999px;background:#cbd6df;position:relative;transition:.18s}.switch-slider::after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:white;left:3px;top:3px;box-shadow:0 2px 8px #10243d33;transition:.18s}.switch input:checked + .switch-slider{background:var(--ok)}.switch input:checked + .switch-slider::after{transform:translateX(24px)}.empty{padding:50px;text-align:center;color:var(--muted)}.pager{padding:14px 18px;display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--muted)}
    dialog{border:0;border-radius:14px;padding:0;width:min(980px,calc(100% - 24px));box-shadow:0 30px 90px #0b172b55}dialog::backdrop{background:#0a172780}.modal-head,.modal-foot{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:20px;max-height:72vh;overflow:auto}.modal-foot{border:0;border-top:1px solid var(--line);justify-content:flex-end;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.full{grid-column:1/-1}.required{color:var(--danger);margin-left:3px}.form-section{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;padding:16px;margin:4px 0 18px}.form-section h4{margin:0 0 14px;color:var(--blue);font-size:16px}.repeat-card{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;background:#f7f9fb;border-radius:8px;padding:14px;margin-bottom:10px}.relation-location-picker input{margin-bottom:8px}.relation-metrics-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.relation-metrics-status{display:inline-flex;align-items:center}.add-row{width:100%;border:1px dashed #8ca5b8;background:#fff;color:var(--blue);border-radius:8px;padding:9px}.close{border:0;background:none;font-size:24px}.detail{background:#f6f8fa;border-radius:8px;padding:12px;white-space:pre-wrap;overflow:auto;max-height:240px}.upload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.upload-card{padding:20px}.upload-card h3{margin:0 0 4px}.upload-card p{color:var(--muted);margin:0 0 15px}.template-link{display:inline-block;margin:10px 10px 0 0;color:var(--blue);font-weight:650;text-decoration:none}.result{margin-top:12px;padding:10px;background:#f4f8f8;border-radius:8px}.toast{position:fixed;right:20px;bottom:20px;z-index:20;background:#16314b;color:#fff;padding:12px 16px;border-radius:9px;box-shadow:var(--shadow)}
    @media(max-width:760px){.app{display:block}.app aside.app-sidebar{height:auto;position:static;overflow:visible}.aside-brand{padding:16px 16px 13px}.nav-caption{padding-left:18px}.nav{overflow:visible;max-height:none;padding:0 10px 10px}.nav button{white-space:normal}.aside-utilities{padding:10px 12px 12px}.topbar{height:58px;padding:0 16px}.content{padding:20px 14px}.cards,.upload-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.toolbar{width:100%}.toolbar input,.toolbar select{flex:1;min-width:120px}.form-grid,.repeat-card{grid-template-columns:1fr}.full{grid-column:auto}.intro h2{font-size:23px}}
    .schedule-columns{display:grid;grid-template-columns:1fr 1.25fr;gap:16px;padding:0 20px 20px}.schedule-step{border:1px solid var(--line);border-radius:16px;background:#f8fafc;overflow:hidden}.strategy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid var(--line)}.time-row{display:flex;gap:10px;margin-bottom:10px}.time-row input{max-width:220px}.date-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;max-height:180px;overflow:auto}.date-chip{border:1px solid #bfd9e8;background:#edf7fb;color:#174d6d;border-radius:999px;padding:7px 11px;cursor:pointer}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;background:white}.check-card small{display:block;margin-top:3px}@media(max-width:900px){.schedule-columns,.check-grid{grid-template-columns:1fr}}
    .weekday-grid{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0 14px}.weekday-grid label{padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}.weekday-grid input{width:auto;margin-right:5px}.hour-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:8px 0 4px}.hour-grid .tag{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#345b73}.hour-grid .tag.ok{border-color:#b6dccb;background:#e5f4ee;color:var(--ok)}
    .city-groups{padding:10px 20px 20px}.city-group{border-bottom:1px solid var(--line)}.city-group summary{display:grid;grid-template-columns:24px minmax(180px,1fr) minmax(240px,2fr);align-items:center;gap:12px;padding:18px 8px;cursor:pointer;list-style:none}.city-group summary::-webkit-details-marker{display:none}.city-arrow::before{content:'›';display:block;color:var(--blue);font-size:30px;line-height:1;transition:transform .18s}.city-group[open] .city-arrow::before{transform:rotate(90deg)}.city-group table{margin-bottom:10px}.city-group td,.city-group th{padding-top:12px;padding-bottom:12px}.nav-badge{float:right;min-width:20px;padding:1px 6px;border-radius:999px;background:#d94a55;color:#fff;text-align:center;font-size:11px}.flow-grid{display:grid;gap:12px}.flow-step{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:12px}.flow-step b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e4f3f4;color:#18757b}.flow-step small{display:block;color:var(--muted)}.guest-qr-panel{border-top:4px solid #2fb0ad;background:linear-gradient(135deg,#fff 0%,#f7fbfb 58%,#eef8f7 100%);margin-bottom:16px}.guest-bot-panel{border:1px solid #d5e5e7;box-shadow:0 18px 44px rgba(16,36,61,.08)}.guest-bot-panel .panel-head{background:linear-gradient(90deg,#fff,#f5fbfb)}.guest-bot-table{min-width:820px}.guest-bot-table tbody tr{transition:background .15s ease,transform .15s ease}.guest-bot-table tbody tr:hover{background:#f8fcfc}.hotel-name-cell{font-weight:750;color:#13233a;line-height:1.35}.bot-platform{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#eef6fb;color:#285a78;font-weight:700}.bot-platform.dingtalk{background:#eaf4ff;color:#1762a6}.bot-purpose{font-weight:700}.secure-pill{display:inline-flex;align-items:center;gap:6px}.secure-pill::before{content:'●';font-size:9px}.guest-empty{padding:46px 24px;text-align:center;color:var(--muted);background:linear-gradient(180deg,#fff,#f8fbfc)}@media(max-width:700px){.city-group summary{grid-template-columns:20px 1fr}.city-group summary span:last-child{grid-column:2}.flow-step{grid-template-columns:38px 1fr}.flow-step .btn{grid-column:2}}
    /* 2026-06 全局排版抛光：更像运营控制台，重点修正文案行高和控件垂直偏移。 */
    body{font-size:15px;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
    main{background:radial-gradient(circle at 12% 0%,rgba(51,166,173,.08),transparent 28%),linear-gradient(180deg,#f8fbfc 0%,var(--paper) 260px)}
    .topbar{height:76px;padding:0 32px}.topbar h1{font-size:30px;line-height:1.18;letter-spacing:-.02em}.content{padding:30px 34px 40px}.intro{margin-bottom:22px}.intro h2{font-size:30px;line-height:1.18;letter-spacing:-.02em}.intro p{font-size:15px;line-height:1.7;max-width:760px}.eyebrow{line-height:1.2}
    .panel,.card{border-color:#d7e2e8;box-shadow:0 8px 28px rgba(16,36,61,.055)}.panel{border-radius:16px}.panel-head{padding:20px 22px;align-items:center}.panel-head h3{font-size:18px;line-height:1.35;letter-spacing:-.01em}.panel-head small{display:block;margin-top:5px;color:var(--muted);line-height:1.55;max-width:760px}
    .panel>.form-grid{padding:22px}.field{gap:8px}.field label{font-size:13px;line-height:1.35;letter-spacing:.01em}.field small,.check-card small,.flow-step small{line-height:1.55;color:var(--muted)}.field input,.field select,.field textarea,.toolbar input,.toolbar select{min-height:44px;border-radius:10px;line-height:1.45}.field textarea{resize:vertical}.toolbar{align-items:center}.toolbar .btn{min-height:44px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;line-height:1.2;border-radius:10px;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn.small{min-height:32px;line-height:1.15}.add-row{min-height:42px;line-height:1.35}.close{display:inline-grid;place-items:center;width:42px;height:42px;line-height:1;border-radius:12px}.close:hover{background:#eef4f6}
    table{font-size:14px}th,td{padding:14px 16px;line-height:1.62;vertical-align:middle}th{font-size:13px;letter-spacing:.02em;color:#4b5f73}td small{display:inline-block;line-height:1.55;color:var(--muted)}td .btn+ .btn{margin-left:6px}.tag{vertical-align:middle;line-height:1.25;padding:5px 10px;font-weight:650}.tag+ .tag{margin:2px 4px 2px 0}
    .cards{gap:16px}.stat{border-radius:16px;padding:24px}.stat span{line-height:1.4}.stat strong{line-height:1.05}.upload-card{border-radius:16px}.upload-card h3{line-height:1.35}.upload-card p{line-height:1.55}
    .form-section{border-radius:14px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfe)}.form-section h4{font-size:17px;line-height:1.35}.repeat-card{border:1px solid #e2ebef;border-radius:14px;background:#f8fbfc;padding:16px}.check-card{align-items:center;border-radius:14px;line-height:1.45}.weekday-grid label{display:inline-flex;align-items:center;min-height:42px;line-height:1.25}
    .nav button{line-height:1.35;font-size:15px}.aside-brand b{line-height:1.25}.aside-brand small{display:block;line-height:1.35;margin-top:5px}.nav-badge{float:none;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;vertical-align:middle}
    dialog{border-radius:18px}.modal-head h3{line-height:1.3}.modal-body{padding:22px}.modal-foot{padding:18px 22px}.toast{line-height:1.45}
    @media(max-width:760px){.content{padding:22px 16px 34px}.topbar{height:62px;padding:0 18px}.topbar h1{font-size:25px;line-height:1.18}.intro h2{font-size:25px}.panel-head{padding:18px}.panel>.form-grid{padding:18px}th,td{padding:12px 13px}.btn{width:auto}.toolbar .btn{flex:0 0 auto}}
    body.competitor-config-page{--competitor-bg:#f4f8fa;--competitor-ink:#14233a;--competitor-muted:#74869a;--competitor-line:#d9e5eb;--competitor-blue:#175d8e;--competitor-cyan:#1aa2a4;--competitor-green:#258267;--competitor-danger:#c83e48;background:var(--competitor-bg)}
    body.competitor-config-page main{background:radial-gradient(circle at 6% 8%,rgba(26,162,164,.09),transparent 24%),linear-gradient(180deg,#f8fbfc,#f3f7f9)}
    body.competitor-config-page .topbar{height:78px;border-color:#dce6eb}
    body.competitor-config-page .content{padding:22px 28px 38px}
    body.competitor-config-page .intro{display:none}
    .competitor-layout{color:var(--competitor-ink)}
    .competitor-panel{overflow:hidden;border:1px solid #d4e2e9;border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(18,49,71,.06)}
    .competitor-panel+.competitor-panel{margin-top:14px}
    .competitor-section-head{min-height:68px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--competitor-line)}
    .competitor-section-title{display:flex;align-items:center;gap:12px;min-width:0}.competitor-section-title h2{margin:0 0 2px;font-size:17px;line-height:1.35}.competitor-section-title p{margin:0;color:var(--competitor-muted);font-size:12px;line-height:1.45}
    .competitor-section-icon{width:38px;height:38px;border:1px solid #cbe9e5;border-radius:11px;background:#eef9f7;color:var(--competitor-cyan);display:grid;place-items:center;flex:0 0 38px}.competitor-section-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .competitor-primary-button{height:38px!important;min-height:38px!important;border-radius:8px!important;background:var(--competitor-blue)!important;box-shadow:0 6px 14px rgba(23,93,142,.14)}
    .competitor-schedule-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:12px;padding:14px}
    .competitor-schedule-step{overflow:hidden;border:1px solid #d8e4ea;border-radius:12px;background:#fbfdfe}
    .competitor-step-head{min-height:58px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e1e9ee}.competitor-step-name{display:flex;align-items:center;gap:9px}.competitor-step-no{width:27px;height:27px;border-radius:8px;background:#e7f2f7;color:#1c668f;display:grid;place-items:center;font-size:11px;font-weight:850}.competitor-step-name h3{margin:0;font-size:14px;line-height:1.35}.competitor-step-name small{display:block;margin-top:1px;color:var(--competitor-muted);font-size:10px;line-height:1.35}
    .competitor-schedule-row{min-height:58px;padding:9px 13px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #e5edf1}.competitor-schedule-row:last-child{border-bottom:0}.competitor-schedule-main{display:flex;align-items:center;gap:10px;min-width:0}.competitor-time-mark{min-width:42px;height:34px;padding:0 6px;border-radius:9px;background:#edf5fa;color:#286b94;display:grid;place-items:center;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.competitor-schedule-copy{min-width:0}.competitor-schedule-copy b{display:block;overflow:hidden;font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.competitor-schedule-meta{display:flex;align-items:center;gap:5px;margin-top:3px;overflow:hidden;color:#687c8e;font-size:10px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.competitor-plan-pill{display:inline-flex;align-items:center;padding:2px 6px;border-radius:5px;background:#e7f5f0;color:#287d65;font-size:10px;font-weight:750}.competitor-row-actions{display:flex;gap:5px}.competitor-row-actions .btn{height:31px;min-height:31px;padding:0 9px;border-radius:7px;font-size:11px}.competitor-row-actions .btn.danger{border:1px solid #e45d66;background:#fff;color:var(--competitor-danger)}
    .competitor-empty{padding:28px 16px;text-align:center;color:var(--competitor-muted);font-size:12px}
    .competitor-head-actions{display:flex;align-items:center;gap:8px}.competitor-platform-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#eaf3ff;color:#226bc0;font-size:11px;font-weight:800}.competitor-platform-pill.meituan{background:#fff5cb;color:#8a6500}.competitor-platform-mark{width:20px;height:20px;border-radius:6px;background:#2677d8;color:#fff;display:grid;place-items:center;font-size:10px}.competitor-platform-pill.meituan .competitor-platform-mark{background:#ffc729;color:#6e5100}
    .competitor-list-head,.competitor-list-row{display:grid;grid-template-columns:188px 76px minmax(260px,1fr) 116px 62px 62px;column-gap:10px}.competitor-list-head{height:42px;align-items:center;padding:0 14px;background:#f7fafb;border-bottom:1px solid var(--competitor-line);color:#53687b;font-size:11px;font-weight:750}.competitor-hotel-group{border-bottom:1px solid #dce6eb}.competitor-hotel-group:last-child{border-bottom:0}.competitor-hotel-head{min-height:38px;padding:7px 14px;background:linear-gradient(90deg,#f0f8fa,#fbfdfd);display:flex;align-items:center;gap:9px;border-bottom:1px solid #e1eaee}.competitor-hotel-code{display:inline-flex;align-items:center;padding:3px 7px;border-radius:6px;background:#216895;color:#fff;font-size:10px;font-weight:850}.competitor-hotel-head b{font-size:12px}.competitor-hotel-count{margin-left:auto;color:#688095;font-size:10px}
    .competitor-list.meituan .competitor-list-head,.competitor-list.meituan .competitor-list-row{grid-template-columns:174px 70px minmax(230px,1fr) 126px 108px 58px 58px}.competitor-discount-cell{display:grid;justify-items:start;gap:3px}.competitor-discount-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border-radius:6px;background:#fff5cb;color:#8a6500;font-size:10px;font-weight:800}.competitor-discount-pill.missing{background:#fff0e8;color:#ae6421}.competitor-discount-cell small{display:block;color:#718397;font-size:9px;line-height:1.35}
    .competitor-list-row{min-height:76px;padding:9px 14px;align-items:center;border-bottom:1px solid #e8eef1;transition:background .15s ease}.competitor-list-row:last-child{border-bottom:0}.competitor-list-row:hover{background:#f9fcfd}.competitor-name-cell b{display:block;margin-bottom:3px;font-size:12px;line-height:1.4}.competitor-link-line{display:flex;align-items:center;gap:5px;max-width:100%;overflow:hidden;color:#2b6b94;font-size:10px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.competitor-link-line:hover{text-decoration:underline}.competitor-link-line svg{width:12px;height:12px;flex:0 0 12px;fill:none;stroke:currentColor;stroke-width:1.8}.competitor-district{color:#40576d;font-size:11px;line-height:1.4;word-break:break-word}.competitor-room-chips{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.competitor-room-chip{display:inline-flex;align-items:center;min-height:22px;padding:3px 6px;border-radius:5px;background:#edf4f7;color:#476779;font-size:9px;line-height:1.3;white-space:nowrap}.competitor-room-chip em{margin-right:4px;color:#216895;font-style:normal;font-weight:850}.competitor-notify{display:grid;justify-items:start;gap:3px}.competitor-notify-pill{padding:3px 7px;border-radius:999px;background:#e5f4ee;color:var(--competitor-green);font-size:9px;font-weight:800}.competitor-notify-pill.legacy{background:#fff2d8;color:#b77716}.competitor-notify-pill.off{background:#edf1f4;color:#68798a}.competitor-notify small{color:#718397;font-size:9px;line-height:1.3}.competitor-status-button{min-height:29px!important;height:29px;padding:0 8px!important;border:0!important;border-radius:999px!important;background:#e5f5ef!important;color:var(--competitor-green)!important;font-size:10px!important;box-shadow:none!important}.competitor-status-button.off{background:#edf1f4!important;color:#68798a!important}.competitor-edit-button{min-height:31px!important;height:31px;padding:0 9px!important;border:0!important;border-radius:7px!important;background:#edf3f6!important;color:#273a51!important;font-size:10px!important;box-shadow:none!important}
    @media(max-width:1100px){.competitor-schedule-grid{grid-template-columns:1fr}.competitor-list-head,.competitor-list-row{grid-template-columns:170px 70px minmax(250px,1fr) 110px 58px 58px}}
    @media(max-width:760px){body.competitor-config-page .content{padding:18px 14px 30px}.competitor-section-head{align-items:flex-start;flex-direction:column}.competitor-head-actions{width:100%;justify-content:space-between}.competitor-schedule-grid{padding:10px}.competitor-list{overflow-x:auto}.competitor-list-head,.competitor-list-row{min-width:900px}.competitor-list.meituan .competitor-list-head,.competitor-list.meituan .competitor-list-row{min-width:1040px}.competitor-section-head .competitor-primary-button{align-self:stretch}.competitor-row-actions{flex-direction:column}}
    @media(prefers-reduced-motion:reduce){.competitor-list-row{transition:none}}
    .panel-body{padding:22px}.panel-body>.form-grid{padding:0}.panel-body .form-grid{align-items:start;row-gap:14px}.panel-body .field{min-width:0}
    input[type="checkbox"],input[type="radio"],.field input[type="checkbox"],.field input[type="radio"],.weekday-grid input[type="checkbox"],.check-card input[type="checkbox"]{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:0 9px 0 0!important;accent-color:var(--blue);flex:0 0 auto}
    .field label:has(input[type="checkbox"]),.field label:has(input[type="radio"]){display:flex;align-items:center;gap:0;font-size:14px;line-height:1.45;color:#415266;margin:0}
    .field.full:has(input[type="checkbox"]){display:flex;flex-direction:column;gap:12px;margin:4px 0 16px}.field.full:has(input[type="checkbox"]) small{margin-top:2px}.readonly-line{min-height:44px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfc;color:var(--muted)}
    .route-confirm{padding:12px 14px;border:1px solid #e0e9ee;border-radius:14px;background:#f8fbfc}
    .suggestion-panel{grid-column:1/-1;border:1px solid #d8e8ea;border-radius:14px;background:#f8fcfc;padding:14px;margin:4px 0 16px}.suggestion-panel-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.suggestion-panel h4{margin:0;color:var(--blue);font-size:16px}.suggestion-panel pre{margin:10px 0 0;white-space:pre-wrap;max-height:220px;overflow:auto;background:#fff;border:1px solid #e3ecef;border-radius:10px;padding:10px;color:#324255}.suggestion-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.suggestion-actions .tag{margin-left:4px}
    .merged-hotel-cell{background:linear-gradient(180deg,#fbfdfe,#f5fafb);border-right:1px solid #e8edf0;min-width:170px}.merged-hotel-cell small{display:block;margin-top:6px;color:var(--muted)}
    .platform-identity{display:inline-flex;align-items:center;gap:10px;min-width:0}.platform-identity-copy{display:block;min-width:0}.platform-identity-copy strong,.platform-identity-copy small{display:block}.platform-identity-copy strong{font-weight:750;color:var(--ink);white-space:nowrap}.platform-identity-copy small{margin-top:3px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.platform-mark{width:34px;height:34px;display:inline-grid;place-items:center;flex:0 0 34px;border-radius:10px;color:#fff;font-size:17px;font-weight:850;line-height:1;letter-spacing:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 5px 12px rgba(16,36,61,.1)}.platform-mark--large{width:42px;height:42px;flex-basis:42px;border-radius:12px;font-size:20px}.platform-mark--small{width:26px;height:26px;flex-basis:26px;border-radius:8px;font-size:13px}.platform-mark--ctrip{background:linear-gradient(145deg,#318fff,#176bd7)}.platform-mark--meituan{background:linear-gradient(145deg,#ffd43b,#ffbd12);color:#172033}.platform-mark--fliggy{background:linear-gradient(145deg,#ff8c2b,#ff5c42)}.platform-mark--douyin{background:#15171c;text-shadow:-1px 0 #21e6e6,1px 0 #ff365a}.platform-mark--xiaohongshu{background:linear-gradient(145deg,#ff3852,#e91e3b)}.platform-mark--member{background:linear-gradient(145deg,#5673ff,#6c3ed4)}.platform-mark--default{background:linear-gradient(145deg,#6e8295,#50677c)}.platform-group-cell{vertical-align:middle!important;min-width:190px}.platform-group-cell .platform-identity{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px}.platform-group-cell .platform-identity-copy strong{white-space:normal}.platform-group-cell--ctrip{background:linear-gradient(180deg,#f8fbff,#f1f7ff)}.platform-group-cell--meituan{background:linear-gradient(180deg,#fffdf5,#fff9df)}.platform-group-cell--fliggy{background:linear-gradient(180deg,#fffaf5,#fff4e9)}.platform-group-cell--douyin{background:linear-gradient(180deg,#fbfbfc,#f3f4f6)}.platform-group-cell--xiaohongshu{background:linear-gradient(180deg,#fff9fa,#fff1f3)}.platform-group-cell--member{background:linear-gradient(180deg,#faf9ff,#f3f0ff)}.credential-table td:last-child{white-space:nowrap}
    .link-output-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:center}.link-output-row .btn{height:44px}
    body.manager-links-page main{background:#f4f8fa}body.manager-links-page .content{padding-top:24px}
    .manager-link-workspace{border-color:#d5e1e7;border-radius:14px;box-shadow:0 8px 28px rgba(16,36,61,.055)}
    .manager-link-head{min-height:78px;padding:20px 28px;border-bottom:1px solid #dbe5ea;display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff}
    .manager-link-head h3{margin:0;font-size:21px;line-height:1.3;letter-spacing:-.015em}
    .manager-link-steps{display:flex;align-items:center;justify-content:flex-end;min-width:460px;color:#7a8794}
    .manager-link-step{display:flex;align-items:center;gap:9px;font-weight:650;white-space:nowrap}.manager-link-step+.manager-link-step::before{content:"";width:42px;margin:0 16px;border-top:1px dashed #aebac3}
    .manager-link-step-number{width:28px;height:28px;display:grid;place-items:center;border:1px solid #c7d0d7;border-radius:50%;background:#fff;color:#8a949d;font-size:13px;font-weight:750}
    .manager-link-step.is-active{color:#178d82}.manager-link-step.is-active .manager-link-step-number{border-color:#178d82;background:#178d82;color:#fff;box-shadow:0 0 0 4px #e6f4f2}
    .manager-link-step.is-complete{color:#45677a}.manager-link-step.is-complete .manager-link-step-number{border-color:#8fc8c1;background:#e8f5f2;color:#177d72}
    .manager-link-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);min-height:500px}
    .manager-link-form-pane,.manager-link-result-pane{min-width:0;padding:34px 38px 40px}
    .manager-link-pane-title{display:flex;align-items:center;gap:12px;margin:0 0 28px;font-size:18px;line-height:1.35}.manager-link-pane-title::before{content:"";width:4px;height:28px;border-radius:999px;background:#20a89f;box-shadow:0 0 0 4px #e9f6f4}
    .manager-link-form-pane .field{margin-bottom:26px}.manager-link-form-pane .field label{font-size:14px;color:#3f5368}.manager-link-form-pane .field input,.manager-link-form-pane .field select{min-height:52px;padding:12px 15px;border-radius:9px;font-size:15px}.manager-link-form-pane .field small{font-size:13px}
    .manager-link-action{min-width:280px;min-height:50px;margin-top:12px;padding:12px 22px;border-radius:9px;font-size:16px;box-shadow:0 8px 18px rgba(29,91,145,.16)}.manager-link-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .manager-link-result-pane{border-left:1px solid #dbe5ea;background:linear-gradient(180deg,#f8fcfc,#f3f9fa)}
    .manager-link-result-state{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 10px 0}
    .manager-link-result-icon{width:72px;height:72px;display:grid;place-items:center;margin-bottom:22px;border:1px solid #c8e4e0;border-radius:50%;background:#fff;color:#17988e;box-shadow:0 0 0 7px rgba(32,168,159,.065)}.manager-link-result-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .manager-link-result-state h4{margin:0;color:#13233a;font-size:20px;line-height:1.4}.manager-link-result-state p{max-width:420px;margin:12px 0 24px;color:var(--muted);line-height:1.65}
    .manager-link-result-field{width:100%;min-height:50px;border:1px solid #ccdbe2;border-radius:9px;background:rgba(255,255,255,.76);padding:12px 15px;color:#354a5f;font-size:14px}.manager-link-result-field::placeholder{color:#8b979f}.manager-link-result-hint{width:100%;margin-top:10px;color:#6c7c8b;font-size:12px;text-align:left}
    .manager-link-result-pane.has-result .manager-link-result-icon{border-color:#89cbbf;background:#e8f5f1;color:#218365}.manager-link-result-pane.has-result .manager-link-result-field{background:#fff;border-color:#9ccbc4;color:#16344a}.manager-link-result-pane.has-result .manager-link-result-state h4{color:#1d6f62}
    @media(max-width:1180px){.manager-link-head{align-items:flex-start;flex-direction:column}.manager-link-steps{min-width:0;width:100%;justify-content:flex-start}.manager-link-grid{grid-template-columns:1fr}.manager-link-result-pane{border-left:0;border-top:1px solid #dbe5ea}.manager-link-result-state{min-height:290px}}
    @media(max-width:700px){body.manager-links-page .content{padding-top:16px}.manager-link-head{padding:18px}.manager-link-steps{align-items:flex-start}.manager-link-step{flex-direction:column;gap:5px;font-size:12px}.manager-link-step+.manager-link-step::before{width:22px;margin:14px 8px 0}.manager-link-form-pane,.manager-link-result-pane{padding:24px 18px 28px}.manager-link-action{width:100%;min-width:0}.manager-link-result-state{min-height:260px}}
    body.guest-review-page main{background:#f4f8fa}body.guest-review-page .content{padding-top:20px}
    .guest-review-panel{border-color:#d5e2e8;border-radius:14px;box-shadow:0 8px 28px rgba(16,36,61,.055);overflow:hidden}.guest-review-panel+.guest-review-panel{margin-top:18px}
    .guest-review-section-head{min-height:86px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid #dbe5ea;background:#fff}.guest-review-section-title{display:flex;align-items:center;gap:14px;min-width:0}.guest-review-section-title h3{margin:0;color:#16243a;font-size:20px;line-height:1.35}.guest-review-section-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border:1px solid #cce8e5;border-radius:12px;background:linear-gradient(145deg,#e4f7f4,#f6fbfa);color:#179a98}.guest-review-section-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
    .guest-review-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}.guest-review-toolbar select{width:250px;min-height:44px;border:1px solid #d4e0e7;border-radius:9px;background:#fff;padding:9px 34px 9px 12px;color:#16243a}.guest-review-toolbar .btn{min-height:44px;border-radius:9px}.guest-review-quiet-action{background:#edf5fa;color:#1d5b91}
    .guest-review-table{min-width:1050px;table-layout:fixed}.guest-review-table th{height:48px;padding:11px 14px;background:#f8fafb;color:#53687a}.guest-review-table th:nth-child(1){width:210px}.guest-review-table th:nth-child(2){width:78px}.guest-review-table th:nth-child(3){width:165px}.guest-review-table th:nth-child(4){width:215px}.guest-review-table th:nth-child(5){width:382px}.guest-review-table td{height:74px;padding:13px 14px;vertical-align:middle}.guest-review-table tbody tr{transition:background .15s ease}.guest-review-table tbody tr:hover{background:#fbfdfd}.guest-review-hotel strong{display:block;color:#17283f;font-size:14px;line-height:1.45}.guest-review-hotel small{display:block;margin-top:2px;color:#748698;font-variant-numeric:tabular-nums}.guest-review-material strong{display:block;color:#17283f;font-size:14px}.guest-review-material small{display:block;margin-top:4px;color:#8292a2;font-size:11px;line-height:1.4}
    .guest-platform-row{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;white-space:nowrap}.guest-platform-pill{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 10px 5px 6px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}.guest-platform-mark{width:23px;height:23px;display:grid;place-items:center;flex:0 0 23px;border-radius:7px;color:#fff;font-size:12px;font-weight:850}.guest-platform-pill.ctrip{background:#ebf3ff;color:#1766bb}.guest-platform-pill.ctrip .guest-platform-mark{background:#2677df}.guest-platform-pill.meituan{background:#fff6d8;color:#8c620b}.guest-platform-pill.meituan .guest-platform-mark{background:#f4b830;color:#594006}.guest-platform-pill.is-missing{border:1px dashed #dfc06e;background:#fffaf0;opacity:.72}
    .guest-review-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;white-space:nowrap}.guest-review-actions .btn{min-height:34px;margin:0!important;border-radius:8px;padding:7px 11px}.guest-review-actions .guest-action-outline{border:1px solid #b9d3e2;background:#fff;color:#1d5b91}.guest-review-actions .guest-action-quiet{background:#edf3f6;color:#263b52}
    .guest-feedback-head{background:linear-gradient(90deg,#fff 0,#fff 73%,#f0faf8 100%)}.guest-feedback-availability{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 11px;border-radius:999px;background:#e5f4ee;color:#278365;font-size:12px;font-weight:750}.guest-feedback-availability::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
    .guest-feedback-layout{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(340px,.82fr);min-height:490px}.guest-feedback-form{padding:26px 28px 24px;border-right:1px solid #dbe5ea}.guest-feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guest-feedback-grid .field{margin:0}.guest-feedback-grid .field.full{grid-column:1/-1}.guest-feedback-grid .field label{font-size:13px;color:#40566b}.guest-feedback-grid .field input,.guest-feedback-grid .field select,.guest-feedback-grid .field textarea{min-height:44px;border-radius:9px}.guest-feedback-grid .field textarea{min-height:122px}.guest-feedback-bot-toggle{min-height:78px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d8e3e9;border-radius:10px;background:#f9fbfc}.guest-feedback-bot-toggle strong{display:block;color:#263b52;font-size:13px}.guest-feedback-bot-toggle small{display:block;margin-top:3px;color:#8292a2;font-size:11px}.guest-feedback-bot-toggle .switch{flex:0 0 auto}.guest-feedback-bot-field{min-width:0}.guest-feedback-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:2px}.guest-feedback-form-actions .btn{min-height:42px;border-radius:8px}
    .guest-qr-preview{padding:26px;background:linear-gradient(180deg,rgba(227,247,244,.72),rgba(248,251,252,.25)),repeating-linear-gradient(135deg,transparent 0 16px,rgba(17,94,123,.02) 16px 17px)}.guest-preview-label{margin-bottom:12px;color:#496077;font-size:13px;font-weight:750}.guest-qr-ticket{position:relative;padding:22px;border:1px solid #cfe0e8;border-radius:16px;background:#fff;box-shadow:0 12px 25px rgba(35,80,98,.09)}.guest-qr-ticket::before,.guest-qr-ticket::after{content:"";position:absolute;top:50%;width:15px;height:30px;margin-top:-15px;background:#edf8f7}.guest-qr-ticket::before{left:-1px;border-radius:0 16px 16px 0;border-right:1px solid #cfe0e8}.guest-qr-ticket::after{right:-1px;border-radius:16px 0 0 16px;border-left:1px solid #cfe0e8}.guest-ticket-top{display:flex;align-items:center;gap:10px}.guest-ticket-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#23aaa7,#138786);color:#fff;font-size:17px;font-weight:850}.guest-ticket-copy strong{display:block;color:#17283f}.guest-ticket-copy small{display:block;margin-top:2px;color:#8292a2;font-size:11px}.guest-preview-qr{width:166px;height:166px;margin:22px auto 16px;padding:8px;border:1px solid #d4e1e7;border-radius:9px;background:#fff}.guest-preview-qr svg{width:100%;height:100%;display:block}.guest-ticket-note{text-align:center;color:#7b8e9f;font-size:11px;line-height:1.55}.guest-room-chips{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:12px}.guest-room-chip,.guest-record-room{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:26px;padding:4px 9px;border-radius:999px;background:#eaf2f6;color:#456c84;font-size:11px;font-weight:750}.guest-preview-meta{margin-top:16px;padding-top:13px;border-top:1px dashed #bfd5dd}.guest-preview-meta-row{display:flex;justify-content:space-between;gap:12px;margin:8px 0;font-size:11px}.guest-preview-meta-row span{color:#8192a3}.guest-preview-meta-row strong{max-width:66%;color:#263b52;text-align:right}.guest-preview-meta-row strong.ok{color:#278365}
    .guest-feedback-records-head{padding:17px 24px 11px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dbe5ea}.guest-feedback-records-head h4{margin:0;color:#17283f;font-size:16px}.guest-feedback-records-head span{color:#8292a2;font-size:11px}.guest-feedback-table{min-width:900px;table-layout:fixed}.guest-feedback-table th:nth-child(1){width:210px}.guest-feedback-table th:nth-child(2){width:175px}.guest-feedback-table th:nth-child(3){width:230px}.guest-feedback-table th:nth-child(4){width:88px}.guest-feedback-table th:nth-child(5){width:145px}.guest-feedback-table th:nth-child(6){width:142px}.guest-feedback-table th{padding:11px 14px;background:#f8fafb}.guest-feedback-table td{padding:15px 14px;vertical-align:middle}.guest-feedback-bot{display:flex;align-items:center;gap:9px}.guest-feedback-bot-mark{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:8px;background:#13a3a1;color:#fff;font-size:13px;font-weight:850}.guest-feedback-bot-mark.dingtalk{background:#237cda}.guest-feedback-bot strong{display:block;color:#17283f;font-size:13px}.guest-feedback-bot small{display:block;margin-top:1px;color:#8192a3;font-size:11px}.guest-feedback-row-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.guest-feedback-row-actions .btn{min-height:34px;margin:0!important;border-radius:8px}
    @media(max-width:1200px){.guest-review-section-head{align-items:flex-start;flex-direction:column}.guest-review-toolbar{width:100%;justify-content:flex-start}.guest-feedback-layout{grid-template-columns:1fr}.guest-feedback-form{border-right:0;border-bottom:1px solid #dbe5ea}.guest-qr-preview{display:grid;grid-template-columns:minmax(280px,420px) minmax(200px,1fr);gap:22px;align-items:start}.guest-preview-label{grid-column:1/-1;margin-bottom:-8px}.guest-preview-meta{margin-top:0;border-top:0}}
    @media(max-width:760px){body.guest-review-page .content{padding-top:16px}.guest-review-section-head{padding:16px}.guest-review-toolbar{align-items:stretch;flex-direction:column}.guest-review-toolbar select{width:100%}.guest-review-toolbar .btn{width:100%}.guest-feedback-grid{grid-template-columns:1fr}.guest-feedback-grid .field.full{grid-column:auto}.guest-feedback-form{padding:20px 16px}.guest-feedback-form-actions{grid-column:auto;flex-direction:column}.guest-feedback-form-actions .btn{width:100%}.guest-qr-preview{display:block;padding:20px 16px}.guest-preview-meta{margin-top:16px;padding-top:13px;border-top:1px dashed #bfd5dd}.guest-feedback-records-head{padding:16px;align-items:flex-start;flex-direction:column}}
    .environment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fbfdfe,#f4faf9)}.environment-metric{padding:14px 16px;border:1px solid #dcebee;border-radius:12px;background:#fff}.environment-metric span{display:block;color:var(--muted);font-size:12px}.environment-metric strong{display:block;margin-top:4px;font:600 24px Georgia,"Songti SC",serif}.environment-table small{display:block;color:var(--muted);line-height:1.45;margin-top:4px}.environment-actions{display:flex;gap:8px;flex-wrap:wrap}.environment-actions .btn{white-space:nowrap}.health-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.health-line .tag{margin:1px 0}.config-note{color:var(--muted);font-size:12px;line-height:1.5}
    .preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preview{position:relative;aspect-ratio:1;overflow:hidden;background:#eef3f5}.preview img{width:100%;height:100%;object-fit:cover;display:block}.preview button{position:absolute;right:6px;top:6px;width:28px;height:28px;min-height:28px;padding:0;border-radius:50%;background:rgba(20,35,45,.78);font-size:16px;line-height:1}
    .review-vault{margin-top:12px;border:1px solid #d9e7ea;border-radius:14px;background:#f8fcfc;overflow:hidden}.review-vault summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-weight:750}.review-vault summary::-webkit-details-marker{display:none}.review-vault summary small{font-weight:500;color:var(--muted)}.review-vault-body{padding:0 16px 16px}.review-vault-count{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:5px 10px;border-radius:999px;background:#e5f4ee;color:var(--ok);font-size:12px}
    body.failure-log-page{--failure-coral:#d96558;--failure-amber:#e99a42;--failure-cyan:#219ba6;--failure-mint:#e7f5f2;--failure-slate:#76889a}body.failure-log-page main{background:#f4f8fa}body.failure-log-page .content{padding-top:26px}
    .failure-workspace{display:grid;gap:14px}.failure-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d6e3e9;border-radius:10px;background:#fff;overflow:hidden}.failure-summary-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:88px;padding:16px 22px;position:relative}.failure-summary-item:not(:last-child)::after{content:"";position:absolute;right:0;top:20px;bottom:20px;width:1px;background:#dce6eb}.failure-summary-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #cfdbe2;border-radius:50%;color:#53697d}.failure-summary-icon svg{width:20px;height:20px;stroke:currentColor}.failure-summary-copy span{display:block;color:var(--muted);font-size:12px;line-height:1.25}.failure-summary-copy strong{display:block;margin-top:3px;font:650 25px/1 Georgia,"Songti SC",serif;color:#3c5065}.failure-summary-item.pending strong{color:var(--failure-coral)}.failure-summary-item.retry strong{color:var(--failure-amber)}.failure-summary-item.resolved strong{color:var(--failure-cyan)}
    .failure-panel{border-radius:10px;box-shadow:0 8px 26px rgba(16,36,61,.05)}.failure-panel-head{padding:16px 18px 0;border-bottom:1px solid #dce6eb}.failure-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.failure-title-copy h3{margin:0;font-size:17px;line-height:1.35}.failure-title-copy small{display:block;margin-top:4px;color:var(--muted);line-height:1.5}.failure-toolbar{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(140px,.8fr) auto auto;gap:8px;align-items:center}.failure-toolbar input,.failure-toolbar select{height:40px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 11px;color:var(--ink)}.failure-toolbar .btn{min-height:40px;border-radius:8px}.failure-reset{border:0;background:transparent;color:#65798b;font-weight:650;padding:8px 6px}.failure-reset:hover{color:var(--blue)}
    .failure-status-tabs{display:flex;gap:30px;margin-top:14px;overflow-x:auto}.failure-status-tab{position:relative;min-height:42px;border:0;background:transparent;color:#596d80;padding:8px 2px 12px;white-space:nowrap}.failure-status-tab strong{margin-left:4px;color:inherit}.failure-status-tab.active{color:var(--failure-cyan);font-weight:750}.failure-status-tab.active::after{content:"";position:absolute;height:3px;left:0;right:0;bottom:0;border-radius:3px 3px 0 0;background:var(--failure-cyan)}
    .failure-log-table{min-width:920px;table-layout:fixed}.failure-log-table th:nth-child(1){width:88px}.failure-log-table th:nth-child(2){width:150px}.failure-log-table th:nth-child(3){width:200px}.failure-log-table th:nth-child(5){width:100px}.failure-log-table th:nth-child(6){width:176px}.failure-log-table th{padding:12px;background:#f8fafb;color:#53677a}.failure-log-table td{padding:13px 12px}.failure-log-table tbody tr{--failure-rail:var(--failure-amber);transition:background .15s ease}.failure-log-table tbody tr:hover{background:#fbfdfd}.failure-log-table tbody tr.severity-critical{--failure-rail:var(--failure-coral)}.failure-log-table tbody tr.severity-muted{--failure-rail:#a7b2bb}.failure-log-table tbody tr.severity-info{--failure-rail:var(--failure-cyan)}.failure-log-table tbody tr td:first-child{position:relative;padding-left:22px}.failure-log-table tbody tr td:first-child::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:0 3px 3px 0;background:var(--failure-rail)}.failure-time{white-space:nowrap;color:#51677c}.failure-time strong{display:block;color:#32485e;font-size:13px}.failure-time small{display:block;margin-top:2px}.failure-task strong,.failure-hotel strong,.failure-cause strong{display:block;color:#172840;line-height:1.4;overflow-wrap:anywhere}.failure-task small,.failure-hotel small,.failure-cause small{display:block;margin-top:3px;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.failure-channel{color:#526a7d}.failure-cause{max-width:360px}.failure-log-table .tag{border-radius:6px;padding:4px 6px;white-space:nowrap}.failure-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.failure-row-actions .btn{min-height:34px;border-radius:7px;padding:7px 10px}.failure-row-actions .btn.failure-primary{border:1px solid var(--failure-cyan);background:var(--failure-cyan);color:#fff}.failure-row-actions .btn.failure-secondary{border:1px solid #89cdd2;background:#fff;color:#178994}.failure-empty{padding:52px 24px;text-align:center;color:var(--muted)}.failure-empty svg{width:34px;height:34px;margin-bottom:8px;stroke:#77a8ad}.failure-empty strong{display:block;color:#385168;margin-bottom:3px}
    .failure-panel .pager{border-top:1px solid #e6edf1;padding:12px 16px}.failure-panel .pager .btn{border-radius:7px}.failure-manage-summary{padding:14px 16px;border:1px solid #dce7ec;border-left:3px solid var(--failure-coral);border-radius:8px;background:#f8fbfc}.failure-manage-summary strong{display:block;margin-bottom:5px}.failure-manage-summary small{display:block;color:var(--muted)}.failure-manage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.failure-manage-actions .btn{width:100%;min-height:44px}.failure-manage-actions .btn.wide{grid-column:1/-1}.failure-manage-note{margin:12px 0 0;color:var(--muted);font-size:12px}
    .read-failures-panel{margin-top:0;border-radius:10px}.read-failures-panel>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 56px;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;list-style:none;font-weight:750;background:#fff}.read-failures-panel>summary::-webkit-details-marker{display:none}.read-failures-panel>summary small{display:block;margin-top:3px;color:var(--muted);font-weight:500}.read-failures-panel>summary::after{content:'展开';justify-self:end;color:#2189b2;font-size:12px}.read-failures-panel[open]>summary{border-bottom:1px solid var(--line)}.read-failures-panel[open]>summary::after{content:'收起'}.read-failures-panel .read-count{min-width:58px;border-radius:6px;text-align:center}
    @media(max-width:1180px){.failure-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.failure-summary-item:nth-child(2)::after{display:none}.failure-summary-item:nth-child(-n+2){border-bottom:1px solid #dce6eb}.failure-titlebar{flex-direction:column}.failure-toolbar{width:100%}}
    @media(max-width:760px){body.failure-log-page .content{padding-top:20px}.failure-summary-grid{grid-template-columns:1fr 1fr}.failure-summary-item{grid-template-columns:34px minmax(0,1fr);min-height:76px;padding:13px}.failure-summary-icon{width:32px;height:32px}.failure-summary-copy strong{font-size:22px}.failure-toolbar{grid-template-columns:1fr 1fr}.failure-toolbar input{grid-column:1/-1}.failure-toolbar .btn{width:100%}.failure-status-tabs{gap:20px}.failure-panel-head{padding:15px 14px 0}.failure-manage-actions{grid-template-columns:1fr}.failure-manage-actions .btn.wide{grid-column:auto}.read-failures-panel>summary{grid-template-columns:minmax(0,1fr) auto}.read-failures-panel>summary::after{display:none}}
    body.notification-bots-page main{background:#f4f8fa}body.notification-bots-page .content{padding-top:24px}
    .bot-overview-strip{display:flex;align-items:center;gap:0;min-height:76px;margin-bottom:16px;padding:12px 18px;border:1px solid #d7e2e8;border-radius:12px;background:#fff;box-shadow:0 6px 22px rgba(16,36,61,.045)}
    .bot-overview-item{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 24px;color:#263b52;font-weight:700;white-space:nowrap}.bot-overview-item:first-child{padding-left:0}.bot-overview-item+.bot-overview-item{border-left:1px solid #e1e8ed}.bot-overview-item strong{font-size:17px}.bot-overview-status{font-weight:650;color:#53687b}.bot-overview-dot{width:9px;height:9px;border-radius:50%;background:#209a70;box-shadow:0 0 0 4px #e8f5ef}.bot-overview-add{margin-left:auto;min-height:44px;padding:11px 18px;border-radius:9px}
    .bot-platform-mark{width:38px;height:38px;display:inline-grid;place-items:center;flex:0 0 38px;border-radius:9px;background:linear-gradient(145deg,#1aa7a5,#078482);color:#fff;font-size:19px;font-weight:800;line-height:1;box-shadow:0 5px 12px rgba(11,142,139,.18)}.bot-platform-mark.dingtalk{background:linear-gradient(145deg,#2789ec,#1167c8);box-shadow:0 5px 12px rgba(25,112,208,.18)}
    .bot-center-panel{border-color:#d5e5e7;border-radius:12px;box-shadow:0 8px 26px rgba(16,36,61,.055)}.bot-center-panel>.bot-platform-section:first-child{border-top:0}.bot-platform-section{border-top:1px solid var(--line)}.bot-platform-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;background:linear-gradient(90deg,#fbfdfe,#f5fafb)}.bot-platform-title h4{display:flex;align-items:center;gap:12px;margin:0;font-size:16px}.bot-table{min-width:900px;table-layout:fixed}.bot-table th:nth-child(1){width:64px}.bot-table th:nth-child(2){width:220px}.bot-table th:nth-child(3){width:150px}.bot-table th:nth-child(4){width:130px}.bot-table th:nth-child(5){width:92px}.bot-table th:nth-child(7){width:142px}.bot-table tbody tr[draggable=true]{cursor:grab;transition:background .15s ease}.bot-table tbody tr[draggable=true]:hover{background:#fbfdfd}.bot-table tbody tr.bot-dragging{opacity:.55;background:#eef7f7}.drag-cell{width:54px}.drag-handle{width:32px;height:32px;min-height:32px;border:1px solid #d7e2e8;border-radius:8px;background:#fff;color:#5d7284;font-weight:800;line-height:1}.bot-name-cell strong{display:block;color:#13233a}.bot-name-cell small{margin-top:4px}.bot-actions{white-space:nowrap}.bot-actions .btn+.btn{margin-left:8px}.bot-actions .danger{border:1px solid #d95d66;background:#fff;color:#bd3944}.bot-empty{padding:34px 20px;text-align:center;color:var(--muted)}
    @media(max-width:900px){.bot-overview-strip{flex-wrap:wrap;gap:10px}.bot-overview-item{padding:0 14px}.bot-overview-add{margin-left:0}}
    @media(max-width:620px){body.notification-bots-page .content{padding-top:16px}.bot-overview-strip{align-items:stretch}.bot-overview-item{flex:1 1 calc(50% - 8px);padding:0 10px}.bot-overview-item:nth-child(3){border-left:0}.bot-overview-add{width:100%}.bot-platform-title{padding:14px 17px}}
    body.collection-nodes-page main{background:#f4f8fa}body.collection-nodes-page .content{padding-top:24px}.node-workspace{display:grid;gap:16px}
    .node-overview-strip{display:flex;align-items:center;min-height:76px;margin:-24px -34px 8px;padding:12px 34px;border:1px solid #d7e2e8;border-left:0;border-right:0;background:#fff;box-shadow:0 6px 22px rgba(16,36,61,.035)}.node-overview-item{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-width:220px;min-height:46px;padding:0 28px}.node-overview-item:first-child{padding-left:0}.node-overview-item+.node-overview-item{border-left:1px solid #e1e8ed}.node-overview-copy span{display:block;color:#5b6e80;font-size:12px;line-height:1.3}.node-overview-copy strong{display:block;margin-top:3px;color:#162a42;font-size:17px;line-height:1.3}.node-overview-copy strong.ok{color:#238665}.node-overview-add{margin-left:auto;min-height:44px;padding:10px 17px;border:1px solid #1f6398;background:#fff;color:#1f6398;border-radius:8px}
    .node-line-icon{width:42px;height:42px;display:grid;place-items:center;color:#14649c}.node-line-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.node-line-icon .node-icon-accent{stroke:#238665}.node-line-icon.windows svg{fill:currentColor;stroke:none}.node-line-icon.compact{width:28px;height:28px}.node-line-icon.compact svg{width:24px;height:24px}.node-overview-add .node-line-icon{width:22px;height:22px}.node-overview-add .node-line-icon svg{width:22px;height:22px}.node-readiness-title .node-line-icon{width:28px;height:28px}.node-readiness-title .node-line-icon svg{width:25px;height:25px}.node-check-row .node-line-icon{width:24px;height:24px}.node-check-row .node-line-icon svg{width:22px;height:22px}
    .node-routing-panel,.node-list-panel{border-radius:12px;box-shadow:0 8px 26px rgba(16,36,61,.05)}.node-panel-head{padding:18px 24px 14px}.node-panel-head h3{margin:0;color:#16243a;font-size:18px;line-height:1.35}.node-panel-head small{display:block;margin-top:4px;color:var(--muted);line-height:1.5}.node-routing-body{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:22px;padding:0 24px 20px}.node-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.node-route-card{display:grid;align-content:start;gap:12px;min-width:0;padding:16px;border:1px solid #d8e3ea;border-radius:9px;background:#fff}.node-route-card-head{display:flex;align-items:center;gap:10px;color:#17283e;font-weight:750}.node-route-card select,.node-readiness select{width:100%;min-height:46px;border:1px solid #d6e1e8;border-radius:8px;background:#fff;padding:10px 12px;color:#16243a}.node-readiness{display:grid;align-content:start;gap:14px;padding:18px 20px;border:1px solid #c9ddea;border-radius:10px;background:#f6fbfe}.node-readiness-title{display:flex;align-items:center;gap:10px}.node-readiness-title h4{margin:0;font-size:17px}.node-readiness-field label{display:block;margin-bottom:6px;color:#40546a;font-size:13px;font-weight:700}.node-check-list{display:grid;gap:10px;padding-top:2px}.node-check-row{display:flex;align-items:center;gap:8px;min-height:32px;color:#334a61;font-weight:600}.node-check-row input{margin-right:0!important}.node-readiness-note{display:flex;align-items:center;gap:8px;margin-top:2px;padding:9px 10px;border:1px solid #cee1ec;border-radius:7px;background:#eef7fb;color:#50677b;font-size:12px;line-height:1.45}.node-routing-actions{display:flex;justify-content:flex-end;padding:0 24px 18px}.node-routing-save{min-width:150px;min-height:44px;border-radius:8px}
    .node-list-panel .node-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #dce5eb}.node-table{min-width:980px;table-layout:fixed}.node-table th:nth-child(1){width:220px}.node-table th:nth-child(2){width:110px}.node-table th:nth-child(3){width:110px}.node-table th:nth-child(5){width:90px}.node-table th:nth-child(6){width:110px}.node-table th:nth-child(7){width:100px}.node-table th:nth-child(8){width:90px}.node-table tbody tr:hover{background:#fbfdfd}.node-name strong{display:block;color:#17283e}.node-name small{display:block;margin-top:2px}.node-code-tag{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #d4e0e7;border-radius:6px;background:#f7fafb;color:#354c62;font-size:12px}.node-health-tag{background:#e8f1f6;color:#37647e}.node-table-actions{white-space:nowrap}
    @media(max-width:1180px){.node-overview-item{min-width:190px;padding:0 18px}.node-routing-body{grid-template-columns:1fr}.node-readiness{grid-template-columns:1fr}.node-check-list{grid-template-columns:1fr 1fr}.node-readiness-note{grid-column:1/-1}}
    @media(max-width:820px){body.collection-nodes-page .content{padding-top:16px}.node-overview-strip{flex-wrap:wrap;gap:10px;margin:-16px -16px 8px;padding:12px 16px}.node-overview-item{flex:1 1 calc(50% - 8px);padding:0 12px}.node-overview-item:nth-child(3){border-left:0}.node-overview-add{width:100%;margin-left:0}.node-routing-body{padding:0 16px 16px}.node-panel-head{padding:16px}.node-routing-actions{padding:0 16px 16px}.node-route-grid,.node-check-list{grid-template-columns:1fr}.node-routing-save{width:100%}}
    body.ota-order-page main{background:#f4f8fa}body.ota-order-page .content{padding-top:20px}.ota-order-workspace{display:grid;gap:18px}
    .ota-overview-strip{display:flex;align-items:center;min-height:82px;padding:14px 26px;border:1px solid #d5e1e8;border-radius:12px;background:#fff;box-shadow:0 6px 22px rgba(16,36,61,.04)}.ota-overview-item{display:flex;align-items:center;gap:13px;min-width:285px;min-height:48px;padding:0 48px}.ota-overview-item:first-child{padding-left:0}.ota-overview-item+.ota-overview-item{border-left:1px solid #dfe7ec}.ota-overview-item strong{color:#17283f;font-size:18px;line-height:1.25}.ota-overview-metric strong{font:700 28px/1 Georgia,"Songti SC",serif}.ota-overview-metric span{color:#617486;font-size:15px}.ota-overview-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;color:#14649c}.ota-overview-icon.status{border-radius:50%;background:#209675;color:#fff}.ota-overview-icon.hotel{color:#238665}.ota-overview-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ota-global-switch{margin-left:auto;display:flex;align-items:center;gap:13px;color:#17283f;font-size:16px;font-weight:750}.ota-global-switch .switch-slider{width:58px;height:32px}.ota-global-switch .switch-slider::after{width:26px;height:26px}.ota-global-switch input:checked+.switch-slider::after{transform:translateX(26px)}
    .ota-task-panel{border-radius:12px;box-shadow:0 8px 26px rgba(16,36,61,.05)}.ota-task-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;border-bottom:1px solid #dce5eb}.ota-task-head h3{margin:0;color:#16243a;font-size:18px;line-height:1.35}.ota-task-head small{display:block;margin-top:4px;color:var(--muted);line-height:1.5}.ota-add-button{min-height:46px;padding:11px 18px;border-radius:8px;font-size:15px}
    .ota-order-table{min-width:1290px;table-layout:fixed}.ota-order-table th{padding:12px 14px;background:#f8fafb;color:#53677a}.ota-order-table th:nth-child(1){width:150px}.ota-order-table th:nth-child(2){width:112px}.ota-order-table th:nth-child(3){width:315px}.ota-order-table th:nth-child(4){width:460px}.ota-order-table th:nth-child(5){width:190px}.ota-order-table th:nth-child(6){width:88px}.ota-order-table th:nth-child(7){width:104px}.ota-order-table td{padding:14px;vertical-align:middle}.ota-order-table tbody tr{transition:background .15s ease}.ota-order-table tbody tr:hover{background:#fbfdfd}.ota-hotel-name strong{display:block;color:#17283f;font-size:15px;line-height:1.55}.ota-platform-stack,.ota-cookie-stack{display:grid;gap:9px}.ota-platform-entry{display:flex;align-items:center;gap:8px;color:#475d71}.ota-cookie-entry+.ota-cookie-entry{padding-top:9px;border-top:1px solid #e7edf1}.ota-cookie-entry-head{display:flex;align-items:center;gap:7px;margin-bottom:3px}.ota-cookie-entry-head b{color:#17283f}.ota-cookie-entry small{display:block;color:#6b7d8e;line-height:1.45;overflow-wrap:anywhere}.ota-cookie-entry .tag,.ota-notification .tag{border-radius:6px;padding:4px 8px}
    .ota-schedule-card{padding:10px 12px;border:1px solid #dbe5eb;border-radius:8px;background:#fbfdfe}.ota-schedule-line{display:flex;align-items:flex-start;gap:9px}.ota-schedule-line strong{flex:0 0 auto;color:#22384f;line-height:29px}.ota-time-chips{display:flex;flex-wrap:wrap;gap:5px}.ota-time-chip{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:27px;padding:3px 6px;border:1px solid #d9e4eb;border-radius:6px;background:#f5f8fa;color:#334c64;font-size:12px;font-variant-numeric:tabular-nums;line-height:1}.ota-schedule-card small{display:block;margin-top:8px;color:#6d7f90;font-size:11px;line-height:1.45}.ota-schedule-missing{display:inline-flex;align-items:center;min-height:32px}
    .ota-notification{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ota-notification small{flex-basis:100%;display:block;margin-top:1px;color:#687c8f}.ota-notify-off{background:#e8f2f7;color:#34627c}.ota-summary-tag{background:#e4f4ed!important;color:#238665!important}.ota-status-tag{min-width:48px;text-align:center}.ota-row-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.ota-row-actions .btn{width:100%;min-height:36px;margin:0!important;border-radius:7px}.ota-row-actions .danger{border:1px solid #df5962;background:#fff;color:#c33c46}
    @media(max-width:1200px){.ota-overview-item{min-width:220px;padding:0 26px}.ota-order-table{min-width:1260px}}
    @media(max-width:820px){body.ota-order-page .content{padding-top:16px}.ota-overview-strip{flex-wrap:wrap;gap:10px;padding:14px 16px}.ota-overview-item{flex:1 1 calc(50% - 8px);min-width:0;padding:0 14px}.ota-overview-item:nth-child(3){border-left:0}.ota-global-switch{width:100%;justify-content:space-between;padding:10px 2px 0;border-top:1px solid #e2e9ed}.ota-task-head{align-items:stretch;flex-direction:column;padding:16px}.ota-add-button{width:100%}}
    body.ai-diagnosis-page main{background:#f4f8fa}body.ai-diagnosis-page .content{padding-top:20px}.ai-diagnosis-panel{border-radius:12px;box-shadow:0 8px 26px rgba(16,36,61,.05)}.ai-diagnosis-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:90px;padding:20px 26px;border-bottom:1px solid #dce5eb}.ai-diagnosis-title{display:flex;align-items:center;gap:13px}.ai-diagnosis-title h3{margin:0;color:#16243a;font-size:20px;line-height:1.35}.ai-diagnosis-count{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border-radius:999px;background:#e5f4ee;color:#278365;font-weight:750}.ai-diagnosis-add{min-height:46px;padding:11px 18px;border-radius:8px;font-size:15px}
    .ai-diagnosis-table{min-width:1120px;table-layout:fixed}.ai-diagnosis-table th{padding:13px 12px;background:#f8fafb;color:#53677a}.ai-diagnosis-table th:nth-child(1){width:210px}.ai-diagnosis-table th:nth-child(2){width:65px}.ai-diagnosis-table th:nth-child(3){width:82px}.ai-diagnosis-table th:nth-child(4){width:82px}.ai-diagnosis-table th:nth-child(5){width:98px}.ai-diagnosis-table th:nth-child(6){width:85px}.ai-diagnosis-table th:nth-child(7){width:100px}.ai-diagnosis-table th:nth-child(8){width:105px}.ai-diagnosis-table th:nth-child(9){width:150px}.ai-diagnosis-table th:nth-child(10){width:120px}.ai-diagnosis-table td{padding:20px 12px;vertical-align:middle}.ai-diagnosis-table tbody tr{transition:background .15s ease}.ai-diagnosis-table tbody tr:hover{background:#fbfdfd}.ai-diagnosis-table tbody tr.is-enabled td:first-child{box-shadow:inset 4px 0 #1b9b8a}.ai-diagnosis-hotel{padding-left:2px}.ai-diagnosis-hotel strong{display:block;color:#17283f;font-size:15px;line-height:1.5}.ai-diagnosis-hotel small{display:block;margin-top:3px;color:#6b7d8e;font-variant-numeric:tabular-nums}.ai-diagnosis-table .tag{min-width:48px;text-align:center}.ai-diagnosis-table .ai-muted-tag{background:#e8f2f7;color:#34627c}.ai-diagnosis-table .ai-remark{display:block;color:#687c8f;line-height:1.5}.ai-diagnosis-actions{display:flex;align-items:center;gap:6px}.ai-diagnosis-actions .btn{min-width:52px;min-height:36px;margin:0!important;border-radius:7px}.ai-diagnosis-actions .danger{border:1px solid #df5962;background:#fff;color:#c33c46}
    @media(max-width:820px){body.ai-diagnosis-page .content{padding-top:16px}.ai-diagnosis-head{align-items:stretch;flex-direction:column;padding:16px}.ai-diagnosis-add{width:100%}.ai-diagnosis-table{min-width:1120px}}
    body.wechat-users-page main{background:#f4f8fa}body.wechat-users-page .content{padding-top:20px}.wechat-access-panel{border-radius:12px;box-shadow:0 8px 28px rgba(16,36,61,.055)}
    .wechat-access-head{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:92px;padding:18px 24px;border-bottom:1px solid #dce5eb}.wechat-access-title{display:flex;align-items:center;gap:14px;min-width:260px}.wechat-access-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border:1px solid #c9e9e5;border-radius:12px;background:#edf9f7;color:#17999a}.wechat-access-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wechat-access-title h3{margin:0;color:#16243a;font-size:19px;line-height:1.35}.wechat-access-title small{display:block;margin-top:3px;color:#728398;line-height:1.45}
    .wechat-access-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}.wechat-access-toolbar select,.wechat-access-toolbar input{height:44px;border:1px solid #d4e0e7;border-radius:8px;background:#fff;padding:9px 12px;color:#16243a}.wechat-access-toolbar select{width:220px}.wechat-access-toolbar input{width:260px}.wechat-access-toolbar .btn{min-height:44px;margin:0!important;border-radius:8px;white-space:nowrap}.wechat-access-toolbar .wechat-clear{background:#edf3f6;color:#445c70}.wechat-access-toolbar .wechat-add{padding:10px 17px;box-shadow:0 7px 16px rgba(29,91,145,.14)}
    .wechat-access-table{min-width:1110px;table-layout:fixed}.wechat-access-table th{padding:13px 16px;background:#f8fafb;color:#53677a}.wechat-access-table th:nth-child(1){width:180px}.wechat-access-table th:nth-child(3){width:78px}.wechat-access-table th:nth-child(4){width:144px}.wechat-access-table td{padding:18px 16px;vertical-align:top}.wechat-access-table tbody tr{transition:background .15s ease}.wechat-access-table tbody tr:hover{background:#fbfdfd}
    .wechat-user-identity{display:flex;align-items:flex-start;gap:11px}.wechat-user-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:11px;background:linear-gradient(145deg,#168f91,#22aaa7);color:#fff;font-size:16px;font-weight:800;box-shadow:0 6px 14px rgba(21,139,140,.18)}.wechat-user-copy strong{display:block;color:#17283f;font-size:15px;line-height:1.35}.wechat-user-copy small{display:grid;gap:1px;margin-top:3px;color:#7a8b9c;font-size:12px;line-height:1.35}.wechat-binding-count{color:#277d65;font-weight:800}
    .wechat-binding-grid{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:8px}.wechat-binding-card{min-height:70px;padding:9px 10px;border:1px solid #d8e5eb;border-radius:9px;background:#fbfdfd}.wechat-binding-card.is-disabled{opacity:.62}.wechat-binding-card-head{display:flex;align-items:center;gap:6px;min-width:0;margin-bottom:7px}.wechat-hotel-code{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 7px;border-radius:6px;background:#216895;color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em}.wechat-role-tag{display:inline-flex;align-items:center;min-height:25px;padding:3px 7px;border-radius:6px;background:#e2f3ed;color:#277d65;font-size:12px;font-weight:800;white-space:nowrap}.wechat-hotel-name{min-width:0;overflow:hidden;color:#17283f;font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.wechat-permission-list{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.wechat-permission{display:inline-flex;align-items:center;min-height:23px;padding:3px 6px;border-radius:5px;background:#f0f5f7;color:#5c7185;font-size:11px;white-space:nowrap}.wechat-permission.notice{background:#e7f6f0;color:#238064}.wechat-empty-binding{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:8px;background:#fae7e9;color:var(--danger);font-size:12px;font-weight:700}
    .wechat-user-status{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:64px;min-height:32px;padding:5px 10px;border-radius:999px;background:#e5f4ee;color:#278365;font-size:12px;font-weight:800}.wechat-user-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#2aa37b}.wechat-user-status.is-pending{background:#fff1d9;color:#a96815}.wechat-user-status.is-pending::before{background:#c38225}.wechat-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.wechat-user-actions .btn{min-height:36px;margin:0!important;border-radius:7px;white-space:nowrap}.wechat-user-actions .danger{border:1px solid #df5962;background:#fff;color:#c33c46}
    @media(max-width:1450px){.wechat-access-head{align-items:flex-start}.wechat-access-toolbar{flex-wrap:wrap}.wechat-binding-grid{grid-template-columns:repeat(2,minmax(225px,1fr))}}
    @media(max-width:820px){body.wechat-users-page .content{padding-top:16px}.wechat-access-head{align-items:stretch;flex-direction:column;padding:16px}.wechat-access-toolbar{justify-content:stretch}.wechat-access-toolbar select,.wechat-access-toolbar input{width:100%;flex:1 1 180px}.wechat-access-toolbar .wechat-add{flex:1 1 100%}.wechat-binding-grid{grid-template-columns:1fr}}
    @media(max-width:760px){.panel-body{padding:18px}.link-output-row{grid-template-columns:1fr}.link-output-row .btn{width:100%}}
    @media(max-width:900px){.environment-summary{grid-template-columns:1fr 1fr}}
    @media(max-width:560px){.environment-summary{grid-template-columns:1fr}}
  

    .ad-link-strip{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:0;overflow:hidden;border:1px solid #cfe1e5;border-radius:16px;background:#fff;box-shadow:0 18px 42px rgba(16,36,61,.08);margin-bottom:16px}
    .ad-link-lead{padding:24px;background:linear-gradient(145deg,#12314a,#174a62);color:#fff;position:relative}.ad-link-lead:after{content:'';position:absolute;right:-11px;top:50%;width:22px;height:22px;transform:translateY(-50%) rotate(45deg);background:#174a62}.ad-link-lead h3{margin:4px 0 8px;font:700 22px Georgia,"Songti SC",serif}.ad-link-lead p{margin:0;color:#c5dbe4;line-height:1.65}.ad-link-kicker{font-size:11px;letter-spacing:.16em;color:#65d5d1;font-weight:800}
    .ad-link-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:22px 26px}.ad-link-action strong{display:block;margin-bottom:5px;color:#13233a}.ad-link-action small{display:block;line-height:1.5}.ad-link-arrow{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e6f4f4;color:#18757b;font-size:21px;font-weight:800}
    .ad-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.ad-summary div{padding:13px 14px;border-radius:11px;background:#f5f9fa}.ad-summary small{display:block;color:var(--muted);margin-bottom:5px}.ad-summary strong{font-size:20px;color:#14334a}.ad-task-name{font-weight:750;color:#13233a}.ad-cost-k{font-variant-numeric:tabular-nums;color:#18757b;font-weight:800}.ad-rank-up{color:var(--ok);font-weight:750}.ad-rank-down{color:var(--danger);font-weight:750}.ad-analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.ad-phase{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fbfdfe}.ad-phase h4{margin:0 0 4px}.ad-phase>small{display:block;margin-bottom:12px}.ad-phase dl{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0}.ad-phase dt{color:var(--muted)}.ad-phase dd{margin:0;font-weight:750}.ad-rank-table td:first-child{font-weight:700}
    @media(max-width:900px){.ad-link-strip{grid-template-columns:1fr}.ad-link-lead:after{display:none}.ad-summary{grid-template-columns:1fr 1fr}.ad-analysis-grid{grid-template-columns:1fr}}
    @media(max-width:600px){.ad-link-actions{grid-template-columns:1fr}.ad-link-arrow{transform:rotate(90deg)}.ad-summary{grid-template-columns:1fr}}
    /* 酒店档案：极简主数据目录 + 右侧档案检查器。所有样式均限定在该视图内。 */
    body.hotel-directory-page{--hotel-bg:#f7f9fc;--hotel-ink:#142238;--hotel-muted:#64748b;--hotel-blue:#2477f3;--hotel-blue-soft:#eef5ff;--hotel-line:#dce5ee;--hotel-map:#dceef5;--hotel-ok:#17836d;--hotel-ok-soft:#e8f5f1;--hotel-warn:#c36b1d;--hotel-warn-soft:#fff3e7;background:var(--hotel-bg)}
    body.hotel-directory-page main{background:var(--hotel-bg)}
    body.hotel-directory-page .topbar{height:78px;border-color:var(--hotel-line);transition:padding-right .22s ease}
    body.hotel-directory-page .topbar h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:28px;font-weight:760;letter-spacing:-.025em}
    body.hotel-directory-page .content{padding:24px 26px 36px;transition:padding-right .22s ease}
    body.hotel-directory-page .intro{margin:0 0 20px}
    body.hotel-directory-page .intro .eyebrow{display:none}
    body.hotel-directory-page .intro p{font-size:14px;line-height:1.6;color:var(--hotel-muted);max-width:none}
    body.hotel-directory-drawer-open .topbar{padding-right:420px}
    body.hotel-directory-drawer-open .content{padding-right:416px}
    .hotel-directory{color:var(--hotel-ink)}
    .hotel-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
    .hotel-summary-card{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px;min-height:96px;padding:18px 20px;border:1px solid var(--hotel-line);border-radius:8px;background:#fff;box-shadow:0 2px 10px rgba(20,34,56,.035)}
    .hotel-summary-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--hotel-blue)}
    .hotel-summary-icon.rooms{color:#1d9a63}.hotel-summary-icon.cities{color:#7957f5}.hotel-summary-icon svg{width:36px;height:36px;stroke:currentColor}
    .hotel-summary-copy{min-width:0}.hotel-summary-copy span{display:block;color:#4c5e73;font-size:13px;font-weight:650}.hotel-summary-copy strong{display:block;margin-top:3px;color:var(--hotel-ink);font-size:26px;line-height:1.1;font-weight:760;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
    .hotel-filter-bar{display:grid;grid-template-columns:minmax(260px,1.65fr) repeat(3,minmax(130px,.72fr)) auto;gap:12px;margin-bottom:18px}
    .hotel-search-control{position:relative}.hotel-search-control svg{position:absolute;right:14px;top:50%;width:19px;height:19px;transform:translateY(-50%);stroke:#52657b;pointer-events:none}
    .hotel-filter-bar input,.hotel-filter-bar select{width:100%;height:44px;border:1px solid var(--hotel-line);border-radius:8px;background:#fff;color:var(--hotel-ink);padding:0 38px 0 14px;line-height:1.2;box-shadow:none}
    .hotel-filter-bar select{padding-right:32px}.hotel-filter-bar .btn{min-width:124px;height:44px;border-radius:8px;background:var(--hotel-blue);box-shadow:0 5px 14px rgba(36,119,243,.18)}
    .hotel-directory-panel{border:1px solid var(--hotel-line);border-radius:8px;background:#fff;box-shadow:0 4px 16px rgba(20,34,56,.035);overflow:hidden}
    .hotel-directory-panel .table-wrap{overflow:auto}.hotel-directory-table{min-width:980px;font-size:13px}
    .hotel-directory-table th{height:44px;padding:10px 12px;background:#fbfcfe;border-bottom:1px solid var(--hotel-line);color:#40536b;font-size:12px;font-weight:720;letter-spacing:0}
    .hotel-directory-table td{height:58px;padding:9px 12px;border-bottom:1px solid #e7edf3;vertical-align:middle;color:var(--hotel-ink)}
    .hotel-directory-table tbody tr{cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}
    .hotel-directory-table tbody tr:hover{background:#f7faff}.hotel-directory-table tbody tr.is-selected{background:var(--hotel-blue-soft);box-shadow:inset 3px 0 var(--hotel-blue)}
    .hotel-directory-table tbody tr:focus-visible{outline:3px solid rgba(36,119,243,.28);outline-offset:-3px}
    .hotel-directory-table small{display:block;margin-top:2px;color:var(--hotel-muted);font-size:12px;line-height:1.35}
    .hotel-row-picker{appearance:none;width:17px!important;min-width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;border:1px solid #bfd0e1;border-radius:50%;background:#fff;display:grid;place-content:center;accent-color:initial}
    .hotel-row-picker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--hotel-blue);transform:scale(0);transition:transform .14s ease}.hotel-row-picker:checked{border:2px solid var(--hotel-blue)}.hotel-row-picker:checked::before{transform:scale(1)}
    .hotel-number{font-variant-numeric:tabular-nums;letter-spacing:.035em}.hotel-name{font-weight:700}.hotel-location{white-space:nowrap}.hotel-room-count{font-variant-numeric:tabular-nums}
    .hotel-grade{white-space:nowrap;font-variant-numeric:tabular-nums}.hotel-grade-separator{color:#a7b4c1;margin:0 5px}
    .hotel-archive-status{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 9px;border-radius:6px;background:var(--hotel-ok-soft);color:var(--hotel-ok);font-size:12px;font-weight:720;white-space:nowrap}
    .hotel-archive-status.incomplete{background:var(--hotel-warn-soft);color:var(--hotel-warn)}
    .hotel-edit-icon{width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#29435f;display:grid;place-items:center}.hotel-edit-icon:hover{background:#e8f1fd;color:var(--hotel-blue)}.hotel-edit-icon svg{width:18px;height:18px;stroke:currentColor}
    .hotel-directory-footer{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px 8px 18px;color:#30445d}
    .hotel-directory-footer>span{font-variant-numeric:tabular-nums}.hotel-pagination{display:flex;align-items:center;gap:8px}.hotel-pagination button,.hotel-pagination select{height:38px;border:1px solid var(--hotel-line);border-radius:7px;background:#fff;color:var(--hotel-ink)}
    .hotel-pagination button{min-width:38px;padding:0 10px;display:grid;place-items:center}.hotel-pagination button.current{border-color:var(--hotel-blue);background:var(--hotel-blue);color:#fff}.hotel-pagination button:disabled{opacity:.42;cursor:not-allowed}.hotel-pagination select{padding:0 28px 0 10px}
    .hotel-inspector{position:fixed;z-index:30;top:0;right:0;bottom:0;width:390px;padding:0;overflow:auto;background:#fff;color:var(--hotel-ink);border-left:1px solid var(--hotel-line);box-shadow:-10px 0 26px rgba(20,34,56,.07);animation:hotelInspectorIn .22s ease-out both}
    .app .hotel-inspector{position:fixed;top:0;right:0;bottom:0;height:auto;padding:0}
    .hotel-inspector-head{min-height:76px;display:flex;align-items:center;gap:10px;padding:14px 16px 14px 22px;border-bottom:1px solid #eef2f6}.hotel-inspector-head h2{min-width:0;flex:1;margin:0;font-size:17px;line-height:1.35;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotel-inspector-head .close{width:44px;height:44px;color:#314861}
    .hotel-inspector-head .close svg{width:20px;height:20px;stroke:currentColor}
    .hotel-inspector-details{padding:12px 22px 20px}.hotel-detail-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:11px 2px;border-bottom:1px solid #e8edf2}.hotel-detail-row svg{width:20px;height:20px;margin-top:3px;stroke:#38516e}.hotel-detail-row span{display:block;color:var(--hotel-muted);font-size:12px}.hotel-detail-row strong{display:block;margin-top:2px;color:var(--hotel-ink);font-size:14px;line-height:1.45;font-weight:690}
    .hotel-inspector-actions{display:grid;gap:10px;padding:0 22px 24px}.hotel-inspector-actions .btn{width:100%;height:44px;border-radius:7px}.hotel-inspector-actions .btn:not(.ghost){background:var(--hotel-blue)}.hotel-inspector-actions .btn.ghost{border:1px solid var(--hotel-line);background:#fff}
    .hotel-inspector-scrim{display:none;position:fixed;z-index:29;inset:0 390px 0 232px;padding:0;border:0;background:rgba(10,23,39,.26)}
    .hotel-archive-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hotel-archive-sheet .hotel-archive-field{padding:14px;border:1px solid var(--hotel-line);border-radius:10px;background:#f9fbfd}.hotel-archive-field.wide{grid-column:1/-1}.hotel-archive-field span{display:block;color:var(--hotel-muted);font-size:12px}.hotel-archive-field strong{display:block;margin-top:4px;color:var(--hotel-ink);font-weight:680;word-break:break-word}
    @keyframes hotelInspectorIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
    @media(max-width:1450px){body.hotel-directory-drawer-open .topbar{padding-right:32px}body.hotel-directory-drawer-open .content{padding-right:34px}.hotel-inspector-scrim{display:block}}
    @media(max-width:1100px){.hotel-summary-grid{grid-template-columns:1fr 1fr}.hotel-filter-bar{grid-template-columns:1fr 1fr 1fr}.hotel-search-control{grid-column:1/-1}.hotel-filter-bar .btn{width:100%}}
    @media(max-width:760px){body.hotel-directory-page .content{padding:18px 14px 30px}.hotel-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.hotel-summary-card{grid-template-columns:40px 1fr;min-height:84px;padding:14px}.hotel-summary-icon{width:38px;height:38px}.hotel-summary-icon svg{width:30px;height:30px}.hotel-summary-copy strong{font-size:23px}.hotel-filter-bar{grid-template-columns:1fr 1fr;gap:10px}.hotel-search-control{grid-column:1/-1}.hotel-filter-bar .btn{grid-column:1/-1}.hotel-directory-footer{align-items:flex-start;flex-direction:column}.hotel-pagination{width:100%;justify-content:flex-end}.app .hotel-inspector{position:fixed;width:100vw;height:auto;padding:0}.hotel-inspector-scrim{inset:0 100vw 0 0}.hotel-archive-sheet{grid-template-columns:1fr}.hotel-archive-field.wide{grid-column:auto}}
    @media(max-width:430px){.hotel-summary-grid{grid-template-columns:1fr}.hotel-filter-bar{grid-template-columns:1fr}.hotel-search-control,.hotel-filter-bar .btn{grid-column:auto}.hotel-inspector-details,.hotel-inspector-actions{padding-left:16px;padding-right:16px}}
    @media(prefers-reduced-motion:reduce){.hotel-inspector,.hotel-directory-table tbody tr,.hotel-row-picker::before,body.hotel-directory-page .topbar,body.hotel-directory-page .content{animation:none;transition:none}}
    body.location-directory-page{--location-bg:#f7f9fc;--location-ink:#142238;--location-muted:#64748b;--location-blue:#2477f3;--location-blue-soft:#eef5ff;--location-cyan:#239da8;--location-line:#dce5ee;--location-ok:#17836d;--location-ok-soft:#e8f5f1;--location-warn:#b76517;--location-warn-soft:#fff3e7;background:var(--location-bg)}
    body.location-directory-page main{background:var(--location-bg)}
    body.location-directory-page .topbar{height:78px;border-color:var(--location-line)}
    body.location-directory-page .topbar h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:28px;font-weight:760;letter-spacing:-.025em}
    body.location-directory-page .content{padding:24px 26px 36px}
    body.location-directory-page .intro{margin:0 0 18px}
    body.location-directory-page .intro .eyebrow{font-size:11px;line-height:1.2;color:var(--location-cyan);letter-spacing:.15em}
    body.location-directory-page .intro p{font-size:14px;line-height:1.6;color:var(--location-muted);max-width:none}
    .location-directory{color:var(--location-ink)}
    .location-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
    .location-summary-card{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:13px;min-height:94px;padding:17px 19px;border:1px solid var(--location-line);border-radius:10px;background:#fff;box-shadow:0 2px 10px rgba(20,34,56,.035)}
    .location-summary-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--location-cyan)}
    .location-summary-icon.cities{color:#2477f3}.location-summary-icon.types{color:#7957f5}.location-summary-icon.complete{color:var(--location-ok)}
    .location-summary-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .location-summary-copy{min-width:0}.location-summary-copy span{display:block;color:#4c5e73;font-size:13px;font-weight:650}.location-summary-copy strong{display:block;margin-top:3px;color:var(--location-ink);font-size:26px;line-height:1.1;font-weight:760;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
    .location-summary-copy small{display:block;margin-top:4px;color:var(--location-ok);font-size:11px;line-height:1.3;white-space:nowrap}
    .location-directory-panel{border:1px solid var(--location-line);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(20,34,56,.04);overflow:hidden}
    .location-directory-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--location-line)}
    .location-directory-title{display:flex;align-items:baseline;gap:10px;min-width:0}.location-directory-title h3{margin:0;font-size:18px;line-height:1.35;letter-spacing:-.01em}.location-directory-title span{color:var(--location-muted);font-size:12px;white-space:nowrap}
    .location-add-button{height:42px;border-radius:8px;background:var(--location-blue);box-shadow:0 5px 14px rgba(36,119,243,.17)}
    .location-add-button svg,.location-edit-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .location-filter-bar{display:grid;grid-template-columns:minmax(250px,1.55fr) repeat(3,minmax(130px,.72fr)) auto;gap:10px;padding:14px 18px;background:#fbfcfe;border-bottom:1px solid var(--location-line)}
    .location-search-control{position:relative}.location-search-control svg{position:absolute;left:13px;top:50%;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:#60748b;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
    .location-filter-bar input,.location-filter-bar select{width:100%;height:42px;border:1px solid var(--location-line);border-radius:8px;background:#fff;color:var(--location-ink);padding:0 12px;line-height:1.2;box-shadow:none}
    .location-filter-bar input{padding-left:39px}.location-filter-bar select{padding-right:30px}.location-filter-bar .btn{height:42px;min-width:68px;border:1px solid var(--location-line);border-radius:8px;background:#fff;color:#43566e}
    .location-filter-bar .btn:hover{background:#f1f6f9}
    .location-directory-panel .table-wrap{overflow:auto}
    .location-directory-table{min-width:1120px;font-size:13px}
    .location-directory-table th{height:46px;padding:10px 12px;background:#fbfcfe;border-bottom:1px solid var(--location-line);color:#40536b;font-size:12px;font-weight:720;letter-spacing:0}
    .location-directory-table td{height:66px;padding:10px 12px;border-bottom:1px solid #e7edf3;vertical-align:middle;color:var(--location-ink)}
    .location-directory-table tbody tr{transition:background-color .16s ease}.location-directory-table tbody tr:hover{background:#f7faff}
    .location-name-cell{display:flex;align-items:center;gap:10px;min-width:0}.location-name-cell strong{font-weight:700;line-height:1.4}
    .location-type-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;color:var(--location-cyan)}
    .location-type-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .location-city-cell strong{display:block;font-size:13px}.location-city-cell small{display:block;margin-top:2px;color:var(--location-muted);font-size:11px}
    .location-tag-stack{display:flex;flex-wrap:wrap;gap:5px}.location-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border-radius:6px;background:#eaf2fd;color:#285f91;font-size:11px;font-weight:680;line-height:1.25}.location-chip.audience{background:#f0f3f7;color:#53677d}
    .location-address{max-width:340px;color:#34475f;line-height:1.45;word-break:break-word}
    .location-coordinate{font-variant-numeric:tabular-nums;white-space:nowrap}.location-coordinate span{display:block;line-height:1.45}.location-coordinate small{display:block;color:var(--location-muted);font-size:11px}
    .location-coordinate-status{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 9px;border-radius:6px;background:var(--location-ok-soft);color:var(--location-ok);font-size:11px;font-weight:720;white-space:nowrap}
    .location-coordinate-status.incomplete{background:var(--location-warn-soft);color:var(--location-warn)}
    .location-edit-button{min-height:34px!important;height:34px;padding:0 10px!important;border:1px solid var(--location-line)!important;border-radius:7px!important;background:#fff!important;color:#29435f!important;font-size:12px!important}.location-edit-button:hover{border-color:#b7cce0!important;background:#eef5ff!important;color:var(--location-blue)!important}
    .location-directory-footer{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px 8px 18px;color:#30445d;font-size:12px}
    .location-directory-footer>span{font-variant-numeric:tabular-nums}.location-pagination{display:flex;align-items:center;gap:8px}.location-pagination button{height:36px;min-width:72px;border:1px solid var(--location-line);border-radius:7px;background:#fff;color:var(--location-ink);padding:0 12px}.location-pagination button:hover:not(:disabled){border-color:#b7cce0;background:#f3f7fb}.location-pagination button:disabled{opacity:.42;cursor:not-allowed}
    @media(max-width:1180px){.location-summary-grid{grid-template-columns:1fr 1fr}.location-filter-bar{grid-template-columns:1fr 1fr 1fr}.location-search-control{grid-column:1/-1}.location-filter-bar .btn{width:100%}}
    @media(max-width:760px){body.location-directory-page .content{padding:18px 14px 30px}.location-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.location-summary-card{grid-template-columns:40px 1fr;min-height:82px;padding:14px}.location-summary-icon{width:38px;height:38px}.location-summary-icon svg{width:30px;height:30px}.location-summary-copy strong{font-size:23px}.location-directory-head{align-items:flex-start;flex-direction:column}.location-add-button{width:100%}.location-filter-bar{grid-template-columns:1fr 1fr;padding:12px}.location-search-control{grid-column:1/-1}.location-directory-footer{align-items:flex-start;flex-direction:column}.location-pagination{width:100%;justify-content:flex-end}}
    @media(max-width:430px){.location-summary-grid,.location-filter-bar{grid-template-columns:1fr}.location-search-control{grid-column:auto}.location-directory-title{align-items:flex-start;flex-direction:column;gap:2px}}
    @media(prefers-reduced-motion:reduce){.location-directory-table tbody tr{transition:none}}
    body.strategy-config-page{--strategy-bg:#f7f9fc;--strategy-ink:#142238;--strategy-muted:#64748b;--strategy-blue:#2477f3;--strategy-blue-soft:#eef5ff;--strategy-cyan:#239da8;--strategy-line:#dce5ee;--strategy-ok:#17836d;--strategy-ok-soft:#e8f5f1;--strategy-warn:#b76517;--strategy-warn-soft:#fff3e7;background:var(--strategy-bg)}
    body.strategy-config-page main{background:var(--strategy-bg)}
    body.strategy-config-page .topbar{height:78px;border-color:var(--strategy-line)}
    body.strategy-config-page .topbar h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:28px;font-weight:760;letter-spacing:-.025em}
    body.strategy-config-page .content{padding:24px 26px 36px}
    body.strategy-config-page .intro{margin:0 0 18px}
    body.strategy-config-page .intro .eyebrow{font-size:11px;line-height:1.2;color:var(--strategy-cyan);letter-spacing:.15em}
    body.strategy-config-page .intro p{font-size:14px;line-height:1.6;color:var(--strategy-muted);max-width:none}
    .strategy-workspace{color:var(--strategy-ink)}
    .strategy-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
    .strategy-summary-card{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:13px;min-height:94px;padding:17px 19px;border:1px solid var(--strategy-line);border-radius:10px;background:#fff;box-shadow:0 2px 10px rgba(20,34,56,.035)}
    .strategy-summary-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--strategy-cyan)}
    .strategy-summary-icon.enabled{color:var(--strategy-blue)}.strategy-summary-icon.discount{color:#7957f5}.strategy-summary-icon.updated{color:var(--strategy-ok)}
    .strategy-summary-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .strategy-summary-copy{min-width:0}.strategy-summary-copy span{display:block;color:#4c5e73;font-size:13px;font-weight:650}.strategy-summary-copy strong{display:block;margin-top:3px;color:var(--strategy-ink);font-size:26px;line-height:1.1;font-weight:760;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}.strategy-summary-copy small{display:block;margin-top:4px;color:var(--strategy-muted);font-size:11px;line-height:1.3}
    .strategy-panel{border:1px solid var(--strategy-line);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(20,34,56,.04);overflow:hidden}
    .strategy-panel+.strategy-panel{margin-top:18px}
    .strategy-panel-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--strategy-line)}
    .strategy-panel-title{min-width:0}.strategy-panel-title h3{margin:0;font-size:18px;line-height:1.35;letter-spacing:-.01em}.strategy-panel-title small{display:block;margin-top:3px;color:var(--strategy-muted);font-size:12px;line-height:1.45}
    .strategy-hotel-select{width:min(100%,360px);height:42px;border:1px solid var(--strategy-line);border-radius:8px;background:#fff;color:var(--strategy-ink);padding:0 36px 0 12px;font-weight:620;box-shadow:none}
    .strategy-editor-body{padding:16px 18px 18px}
    .strategy-empty-editor{display:grid;place-items:center;min-height:170px;padding:28px;text-align:center;border:1px dashed #cbd9e6;border-radius:10px;background:#fbfcfe;color:var(--strategy-muted)}
    .strategy-empty-editor svg{width:38px;height:38px;margin-bottom:8px;fill:none;stroke:var(--strategy-cyan);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.strategy-empty-editor strong{display:block;color:#32475f;font-size:15px}.strategy-empty-editor span{display:block;margin-top:4px;font-size:12px}
    .strategy-editor-list{display:grid;gap:10px}
    .strategy-row-card{padding:14px;border:1px solid #dfe7ef;border-radius:10px;background:#fbfcfe}
    .strategy-row-card:hover{border-color:#cbd9e6;background:#fff}
    .strategy-row-primary{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(120px,.62fr) minmax(150px,.72fr) minmax(170px,.82fr) auto;align-items:end;gap:12px}
    .strategy-channel-control{height:38px;display:flex;align-items:center;gap:9px;min-width:0}
    .strategy-channel-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:9px;font-size:14px;font-weight:800;line-height:1;letter-spacing:0}
    .strategy-channel-mark.ctrip{background:#eaf2ff;color:#2477f3}.strategy-channel-mark.meituan{background:#fff2b8;color:#805d00}.strategy-channel-mark.feizhu{background:#f0eaff;color:#7650d8}.strategy-channel-mark.douyin{background:#eaf0f5;color:#26384d}.strategy-channel-mark.other{background:#e8f5f5;color:#247d85}
    .strategy-channel-control select{min-width:0;flex:1;height:38px;border:1px solid var(--strategy-line);border-radius:7px;background:#fff;color:var(--strategy-ink);padding:0 30px 0 11px;font-size:14px;font-weight:700;box-shadow:none}
    .strategy-field{min-width:0}.strategy-field label,.strategy-row-meta>span{display:block;margin-bottom:5px;color:#52667c;font-size:11px;font-weight:680}.strategy-field input,.strategy-field select{width:100%;height:38px;border:1px solid var(--strategy-line);border-radius:7px;background:#fff;color:var(--strategy-ink);padding:0 10px;font-size:13px;box-shadow:none}.strategy-channel-control select:focus,.strategy-field input:focus,.strategy-field select:focus,.strategy-hotel-select:focus,.strategy-filter-bar input:focus,.strategy-filter-bar select:focus{outline:2px solid rgba(36,119,243,.16);border-color:#8fb7ed}
    .strategy-discount-input{position:relative}.strategy-discount-input input{padding-right:58px;font-variant-numeric:tabular-nums}.strategy-discount-preview{position:absolute;right:9px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:24px;padding:0 6px;border-radius:5px;background:var(--strategy-blue-soft);color:var(--strategy-blue);font-size:11px;font-weight:750;pointer-events:none}
    .strategy-row-meta{min-width:0}.strategy-row-meta strong{height:38px;display:flex;align-items:center;color:#41566d;font-size:12px;font-weight:620;font-variant-numeric:tabular-nums;white-space:nowrap}
    .strategy-remove-button{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid var(--strategy-line);border-radius:7px;background:#fff;color:#6e7f91;font-size:12px;font-weight:650;cursor:pointer}.strategy-remove-button:hover{border-color:#e4adb2;background:#fff4f5;color:#b23f49}.strategy-remove-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .strategy-more-settings{margin-top:12px;padding-top:11px;border-top:1px solid #e7edf3}.strategy-more-settings summary{display:inline-flex;align-items:center;gap:6px;color:#52677d;font-size:12px;font-weight:650;cursor:pointer;list-style:none}.strategy-more-settings summary::-webkit-details-marker{display:none}.strategy-more-settings summary::before{content:"＋";color:var(--strategy-cyan);font-weight:800}.strategy-more-settings[open] summary::before{content:"−"}.strategy-more-settings small{margin-left:3px;color:var(--strategy-muted);font-weight:500}.strategy-remark-field{margin-top:10px;max-width:560px}.strategy-remark-field label{display:block;margin-bottom:5px;color:#52667c;font-size:11px;font-weight:680}.strategy-remark-field input{width:100%;height:38px;border:1px solid var(--strategy-line);border-radius:7px;background:#fff;color:var(--strategy-ink);padding:0 10px;font-size:13px;box-shadow:none}
    .strategy-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e7edf3}
    .strategy-add-button{height:40px;border:1px solid var(--strategy-line)!important;border-radius:8px!important;background:#fff!important;color:#36516c!important}.strategy-add-button:hover{background:#f2f7fb!important}.strategy-add-button svg,.strategy-save-button svg,.strategy-edit-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .strategy-save-button{height:40px;border-radius:8px;background:var(--strategy-blue);box-shadow:0 5px 14px rgba(36,119,243,.17)}
    .strategy-directory-head{align-items:flex-start}.strategy-directory-title{display:flex;align-items:baseline;gap:10px}.strategy-directory-title small{margin:0;white-space:nowrap}
    .strategy-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,.4fr) auto;gap:10px;align-items:center}
    .strategy-search-control{position:relative}.strategy-search-control svg{position:absolute;left:12px;top:50%;width:17px;height:17px;transform:translateY(-50%);fill:none;stroke:#60748b;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
    .strategy-filter-bar input,.strategy-filter-bar select{width:100%;height:40px;border:1px solid var(--strategy-line);border-radius:8px;background:#fff;color:var(--strategy-ink);padding:0 12px;box-shadow:none}.strategy-filter-bar input{padding-left:38px}.strategy-filter-bar .btn{height:40px;border:1px solid var(--strategy-line);border-radius:8px;background:#fff;color:#43566e}
    .strategy-panel .table-wrap{overflow:auto}.strategy-table{min-width:980px;font-size:13px}.strategy-table th{height:46px;padding:10px 14px;background:#fbfcfe;border-bottom:1px solid var(--strategy-line);color:#40536b;font-size:12px;font-weight:720}.strategy-table td{height:62px;padding:10px 14px;border-bottom:1px solid #e7edf3;vertical-align:middle;color:var(--strategy-ink)}.strategy-table tbody tr{transition:background-color .16s ease}.strategy-table tbody tr:hover{background:#f7faff}
    .strategy-table-hotel strong{display:block;font-weight:700}.strategy-table-hotel small{display:block;margin-top:2px;color:var(--strategy-muted);font-size:11px}.strategy-channel-chip{display:inline-flex;align-items:center;gap:7px;min-height:28px;font-size:12px;font-weight:700}.strategy-channel-chip .strategy-channel-mark{width:26px;height:26px;flex-basis:26px;border-radius:6px;font-size:10px}.strategy-status-tag{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 9px;border-radius:6px;background:var(--strategy-ok-soft);color:var(--strategy-ok);font-size:11px;font-weight:720}.strategy-status-tag.paused{background:var(--strategy-warn-soft);color:var(--strategy-warn)}.strategy-status-tag.off{background:#eef1f4;color:#677889}.strategy-discount{display:block;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums}.strategy-discount-meta{display:block;margin-top:2px;color:var(--strategy-muted);font-size:10px;font-weight:500}.strategy-record-time{white-space:nowrap;font-variant-numeric:tabular-nums;color:#41566d}.strategy-edit-button{min-height:34px!important;height:34px;padding:0 10px!important;border:1px solid var(--strategy-line)!important;border-radius:7px!important;background:#fff!important;color:#29435f!important;font-size:12px!important}.strategy-edit-button:hover{border-color:#a9c6e5!important;background:#eef5ff!important;color:var(--strategy-blue)!important}
    .strategy-empty-table{padding:50px 24px;text-align:center;color:var(--strategy-muted)}
    .strategy-directory-footer{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px 8px 18px;color:#30445d;font-size:12px}.strategy-pagination{display:flex;align-items:center;gap:8px}.strategy-pagination button{height:36px;min-width:72px;border:1px solid var(--strategy-line);border-radius:7px;background:#fff;color:var(--strategy-ink);padding:0 12px}.strategy-pagination button:hover:not(:disabled){border-color:#b7cce0;background:#f3f7fb}.strategy-pagination button:disabled{opacity:.42;cursor:not-allowed}
    @media(max-width:1180px){.strategy-summary-grid{grid-template-columns:1fr 1fr}.strategy-row-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-channel-control{grid-column:1/-1}.strategy-remove-button{justify-self:end}.strategy-filter-bar{grid-template-columns:1fr 1fr auto}}
    @media(max-width:760px){body.strategy-config-page .content{padding:18px 14px 30px}.strategy-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.strategy-summary-card{grid-template-columns:40px 1fr;min-height:82px;padding:14px}.strategy-summary-icon{width:38px;height:38px}.strategy-summary-icon svg{width:30px;height:30px}.strategy-summary-copy strong{font-size:23px}.strategy-panel-head,.strategy-directory-head{align-items:stretch;flex-direction:column}.strategy-hotel-select{width:100%}.strategy-row-primary{grid-template-columns:1fr}.strategy-channel-control{grid-column:auto}.strategy-remove-button{justify-self:stretch}.strategy-editor-actions,.strategy-directory-footer{align-items:stretch;flex-direction:column}.strategy-editor-actions .btn{width:100%}.strategy-directory-title{align-items:flex-start;flex-direction:column;gap:2px}.strategy-filter-bar{grid-template-columns:1fr 1fr}.strategy-search-control{grid-column:1/-1}.strategy-filter-bar .btn{width:100%}.strategy-pagination{justify-content:flex-end}}
    @media(max-width:430px){.strategy-summary-grid,.strategy-filter-bar{grid-template-columns:1fr}.strategy-search-control{grid-column:auto}.strategy-editor-body{padding:12px}.strategy-row-card{padding:12px}}
    @media(prefers-reduced-motion:reduce){.strategy-row-card,.strategy-table tbody tr{transition:none}}
    body.cost-ledger-page{--cost-bg:#f7f9fc;--cost-ink:#142238;--cost-muted:#64748b;--cost-blue:#2477f3;--cost-cyan:#239da8;--cost-line:#dce5ee;--cost-amber:#d78b26;--cost-purple:#7957f5;--cost-green:#17836d;background:var(--cost-bg)}
    body.cost-ledger-page main{background:var(--cost-bg)}
    body.cost-ledger-page .topbar{height:78px;border-color:var(--cost-line)}
    body.cost-ledger-page .topbar h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:28px;font-weight:760;letter-spacing:-.025em}
    body.cost-ledger-page .content{padding:24px 26px 36px}
    body.cost-ledger-page .intro{margin:0 0 18px}
    body.cost-ledger-page .intro .eyebrow{font-size:11px;line-height:1.2;color:var(--cost-cyan);letter-spacing:.15em}
    body.cost-ledger-page .intro p{font-size:14px;line-height:1.6;color:var(--cost-muted);max-width:none}
    .cost-workspace{color:var(--cost-ink)}
    .cost-status-strip{display:grid;grid-template-columns:minmax(230px,1.15fr) repeat(4,minmax(125px,.75fr));align-items:stretch;margin-bottom:18px;border:1px solid var(--cost-line);border-radius:10px;background:#fff;box-shadow:0 2px 10px rgba(20,34,56,.035);overflow:hidden}
    .cost-status-lead{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 18px;background:#fbfcfe}
    .cost-status-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;color:var(--cost-cyan)}
    .cost-status-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .cost-status-lead strong{display:block;color:var(--cost-ink);font-size:14px}.cost-status-lead small{display:block;margin-top:3px;color:var(--cost-muted);font-size:11px;line-height:1.4}
    .cost-status-item{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:14px 16px;border-left:1px solid var(--cost-line)}
    .cost-status-item span{display:block;color:#5b6e84;font-size:11px;font-weight:650}.cost-status-item strong{display:block;margin-top:3px;overflow:hidden;color:var(--cost-ink);font-size:19px;line-height:1.2;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.cost-status-item small{display:block;margin-top:3px;overflow:hidden;color:var(--cost-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
    .cost-panel{border:1px solid var(--cost-line);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(20,34,56,.04);overflow:hidden}
    .cost-panel-head{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--cost-line)}
    .cost-panel-title{min-width:0}.cost-panel-title h3{margin:0;font-size:18px;line-height:1.35;letter-spacing:-.01em}.cost-panel-title small{display:block;margin-top:3px;color:var(--cost-muted);font-size:12px;line-height:1.45}
    .cost-add-button{height:42px;border-radius:8px!important;background:var(--cost-blue)!important;box-shadow:0 5px 14px rgba(36,119,243,.17)}
    .cost-add-button svg,.cost-edit-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .cost-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,.42fr) auto;gap:10px;padding:13px 18px;border-bottom:1px solid var(--cost-line);background:#fbfcfe}
    .cost-filter-bar select{width:100%;height:40px;border:1px solid var(--cost-line);border-radius:8px;background:#fff;color:var(--cost-ink);padding:0 34px 0 12px;box-shadow:none}
    .cost-filter-bar select:focus,.cost-money-input input:focus,.cost-form-identity select:focus,.cost-form-identity input:focus{outline:2px solid rgba(36,119,243,.16);border-color:#8fb7ed}
    .cost-filter-bar .btn{height:40px;border:1px solid var(--cost-line);border-radius:8px;background:#fff;color:#43566e}
    .cost-panel .table-wrap{overflow:auto}.cost-table{min-width:1080px;font-size:13px}.cost-table th{height:46px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--cost-line);color:#40536b;font-size:12px;font-weight:720}.cost-table td{height:78px;padding:12px 14px;border-bottom:1px solid #e7edf3;vertical-align:middle;color:var(--cost-ink)}.cost-table tbody tr{transition:background-color .16s ease}.cost-table tbody tr:hover{background:#f7faff}
    .cost-hotel-cell strong{display:block;font-weight:720;line-height:1.4}.cost-hotel-cell small{display:block;margin-top:3px;color:var(--cost-muted);font-size:11px}.cost-month{font-size:13px;font-weight:680;white-space:nowrap}.cost-month small{display:block;margin-top:3px;color:var(--cost-muted);font-size:10px;font-weight:520}
    .cost-total strong{display:block;font-size:16px;font-weight:780;font-variant-numeric:tabular-nums;white-space:nowrap}.cost-total small{display:block;margin-top:3px;color:var(--cost-muted);font-size:10px}
    .cost-group{display:grid;gap:4px;min-width:145px}.cost-pair{display:flex;align-items:baseline;justify-content:space-between;gap:12px;line-height:1.35}.cost-pair span{color:#64758a;font-size:11px;white-space:nowrap}.cost-pair strong{color:#24364d;font-size:12px;font-weight:680;font-variant-numeric:tabular-nums;white-space:nowrap}
    .cost-edit-button{height:34px!important;padding:0 10px!important;border:1px solid var(--cost-line)!important;border-radius:7px!important;background:#fff!important;color:#29435f!important;font-size:12px!important}.cost-edit-button:hover{border-color:#a9c6e5!important;background:#eef5ff!important;color:var(--cost-blue)!important}
    .cost-empty{padding:52px 24px;text-align:center;color:var(--cost-muted)}.cost-empty svg{display:block;width:38px;height:38px;margin:0 auto 9px;fill:none;stroke:var(--cost-cyan);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cost-empty strong{display:block;color:#33495f;font-size:14px}.cost-empty span{display:block;margin-top:3px;font-size:12px}
    .cost-form-shell{display:grid;gap:16px}.cost-form-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.65fr);gap:12px}.cost-form-identity,.cost-form-total{border:1px solid var(--cost-line);border-radius:10px;background:#fbfcfe;padding:14px}.cost-form-identity{display:grid;grid-template-columns:1fr 180px;gap:12px}.cost-form-identity .field{margin:0}.cost-form-identity input,.cost-form-identity select{height:42px;border:1px solid var(--cost-line);border-radius:8px;background:#fff;color:var(--cost-ink);padding:0 11px}.cost-form-readonly{display:grid;grid-template-columns:1fr 180px;gap:12px}.cost-form-readonly div{min-width:0}.cost-form-readonly span{display:block;color:#62758a;font-size:11px;font-weight:650}.cost-form-readonly strong{display:block;margin-top:5px;overflow:hidden;color:#20344c;font-size:14px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.cost-form-total{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#eef5ff,#fbfdff)}.cost-form-total span{color:#52677d;font-size:12px;font-weight:680}.cost-form-total strong{display:block;margin-top:4px;color:var(--cost-blue);font-size:28px;line-height:1.1;font-weight:780;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.cost-form-total small{display:block;margin-top:5px;color:var(--cost-muted);font-size:11px}
    .cost-existing-note{grid-column:1/-1;min-height:18px;color:#a86617;font-size:11px}.cost-entry-section{border:1px solid var(--cost-line);border-radius:10px;background:#fff;overflow:hidden}.cost-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e7edf3;background:#fbfcfe}.cost-entry-heading strong{font-size:13px}.cost-entry-heading small{color:var(--cost-muted);font-size:11px}.cost-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px}.cost-entry-grid .field{margin:0}.cost-money-input{position:relative}.cost-money-input span{position:absolute;left:11px;top:50%;z-index:1;transform:translateY(-50%);color:#718297;font-size:12px;pointer-events:none}.cost-money-input input{width:100%;height:42px;border:1px solid var(--cost-line);border-radius:8px;background:#fff;color:var(--cost-ink);padding:0 10px 0 27px;font-variant-numeric:tabular-nums;box-shadow:none}
    @media(max-width:1180px){.cost-status-strip{grid-template-columns:1fr 1fr}.cost-status-lead{grid-column:1/-1}.cost-status-item:nth-child(2),.cost-status-item:nth-child(4){border-left:0}.cost-status-item{border-top:1px solid var(--cost-line)}.cost-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:760px){body.cost-ledger-page .content{padding:18px 14px 30px}.cost-status-strip{grid-template-columns:1fr 1fr}.cost-status-lead{grid-column:1/-1}.cost-status-item{padding:12px 14px}.cost-status-item strong{font-size:17px}.cost-panel-head{align-items:stretch;flex-direction:column}.cost-add-button{width:100%}.cost-filter-bar{grid-template-columns:1fr 1fr;padding:12px}.cost-filter-bar .btn{grid-column:1/-1;width:100%}.cost-form-overview{grid-template-columns:1fr}.cost-form-identity,.cost-form-readonly{grid-template-columns:1fr}.cost-form-total strong{font-size:25px}}
    @media(max-width:430px){.cost-status-strip,.cost-filter-bar,.cost-entry-grid{grid-template-columns:1fr}.cost-status-lead{grid-column:auto}.cost-status-item{border-left:0}.cost-filter-bar .btn{grid-column:auto}}
    @media(prefers-reduced-motion:reduce){.cost-table tbody tr{transition:none}}
  

    .hotel-info-stack{display:grid;gap:16px;padding:18px}.hotel-info-channel{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.hotel-info-channel[data-channel="携程"]{border-left:4px solid #2468f2}.hotel-info-channel[data-channel="美团"]{border-left:4px solid #ffc300}.hotel-info-channel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:#f8fafc}.hotel-info-channel-title{display:flex;align-items:center;gap:10px}.hotel-info-channel-title h4{margin:0;font-size:17px}.hotel-info-channel-head p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.hotel-info-configs{display:grid;gap:12px;padding:16px}.hotel-info-config-card{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(180px,1fr) minmax(210px,1.2fr) auto;gap:14px;align-items:center;border:1px solid #e7ebf2;border-radius:12px;padding:15px 16px}.hotel-info-config-card strong{display:block;margin-bottom:4px}.hotel-info-config-card small{display:block;color:var(--muted);line-height:1.5}.hotel-info-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.hotel-info-pack{padding:0 16px 16px}.hotel-info-pack details{border-top:1px solid var(--line);padding-top:14px}.hotel-info-pack summary{cursor:pointer;font-weight:700;color:#24324a}.hotel-info-pack-grid{display:grid;gap:12px;margin-top:12px}.hotel-info-pack-section{border:1px solid #e7ebf2;border-radius:10px;padding:12px;background:#fbfcfe}.hotel-info-pack-section h5{margin:0 0 8px}.hotel-info-chips{display:flex;gap:6px;flex-wrap:wrap}.hotel-info-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef3fb;color:#40506a;font-size:12px}.hotel-info-pack-note{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.55}.hotel-info-placeholder{padding:20px;color:var(--muted)}
    @media(max-width:980px){.hotel-info-config-card{grid-template-columns:1fr 1fr}.hotel-info-actions{justify-content:flex-start}}@media(max-width:640px){.hotel-info-channel-head,.hotel-info-config-card{grid-template-columns:1fr;display:grid}.hotel-info-actions{justify-content:stretch}.hotel-info-actions .btn{flex:1}}
  

    /* 城市商圈配置：以最终视觉稿为基准的采集计划与城市分组清单。 */
    body.market-config-page{--market-bg:#f6f8fb;--market-ink:#142238;--market-muted:#64748b;--market-blue:#1f6fe5;--market-blue-soft:#eef5ff;--market-cyan:#239da8;--market-line:#dce5ee;--market-ok:#17836d;--market-ok-soft:#e8f5f1;background:var(--market-bg)}
    body.market-config-page main{background:var(--market-bg)}
    body.market-config-page .topbar{height:78px;border-color:var(--market-line);background:#fff}
    body.market-config-page .topbar h1{font-family:"Songti SC","STSong",serif;font-size:31px;font-weight:700;letter-spacing:-.02em}
    body.market-config-page .content{padding:24px 26px 40px}
    .market-workspace{display:grid;gap:18px;color:var(--market-ink)}
    .market-config-panel{overflow:hidden;border:1px solid var(--market-line);border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(20,34,56,.045)}
    .market-config-head{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--market-line)}
    .market-config-title{min-width:0;display:flex;align-items:center;gap:12px}.market-config-title-copy{min-width:0}.market-config-title h2{margin:0;color:var(--market-ink);font-size:19px;line-height:1.35;font-weight:760;letter-spacing:-.01em}.market-config-title p{margin:3px 0 0;color:var(--market-muted);font-size:12px;line-height:1.45}
    .market-section-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:9px;background:#f0f6ff;color:var(--market-blue)}.market-section-icon svg,.market-inline-icon svg,.market-edit-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.market-inline-icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:9px;background:#eef5ff;color:var(--market-blue)}.market-inline-icon.pin{background:#edf8f7;color:var(--market-cyan)}
    .market-primary-button{min-width:150px;height:42px!important;border-radius:8px!important;background:var(--market-blue)!important;box-shadow:0 5px 14px rgba(31,111,229,.18)!important;font-size:13px!important;font-weight:720!important}
    .market-schedule-head,.market-schedule-row{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(112px,.62fr) minmax(130px,.72fr) minmax(210px,1fr) 88px 92px;align-items:center}
    .market-schedule-head{min-height:45px;padding:0 18px;border-bottom:1px solid var(--market-line);background:#fbfcfe;color:#52657a;font-size:12px;font-weight:720}
    .market-schedule-row{min-height:72px;margin:0 18px;border-bottom:1px solid #e8edf3;color:var(--market-ink);font-size:13px}.market-schedule-row:last-child{border-bottom:0}.market-schedule-row>div{min-width:0;padding:11px 0}.market-schedule-name{display:flex;align-items:center;gap:10px}.market-schedule-name strong{display:block;overflow:hidden;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.market-schedule-value{display:flex;align-items:center;gap:9px;font-weight:650;font-variant-numeric:tabular-nums}.market-schedule-value small{display:block;color:var(--market-muted);font-weight:520}.market-schedule-coverage{display:flex;align-items:center;gap:9px;color:#314861;font-weight:650}
    .market-status{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:28px;padding:4px 10px;border-radius:6px;background:var(--market-ok-soft);color:var(--market-ok);font-size:12px;font-weight:760;white-space:nowrap}.market-status.is-disabled{background:#eef2f5;color:#62758a}
    .market-edit-button{height:36px!important;min-height:36px!important;padding:0 11px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;border:1px solid var(--market-line)!important;border-radius:7px!important;background:#fff!important;color:#213852!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important}.market-edit-button:hover{border-color:#a9c8ec!important;background:#f2f7ff!important;color:var(--market-blue)!important}.market-edit-button svg{width:16px;height:16px}
    .market-empty{padding:32px 20px;text-align:center;color:var(--market-muted);font-size:13px}
    .market-city-groups{padding:12px 18px 18px}.market-city-group{overflow:hidden;border:1px solid var(--market-line);border-radius:10px;background:#fff}.market-city-group+.market-city-group{margin-top:12px}.market-city-group>summary{min-height:54px;display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;list-style:none;background:#f8fbff;color:var(--market-ink)}.market-city-group>summary::-webkit-details-marker{display:none}.market-city-chevron{width:20px;height:20px;display:grid;place-items:center;color:#405b76;transition:transform .16s ease}.market-city-chevron svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.market-city-group[open] .market-city-chevron{transform:rotate(90deg)}.market-city-pin{width:28px;height:28px;display:grid;place-items:center;color:var(--market-blue)}.market-city-pin svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.market-city-name{font-size:15px;font-weight:750}.market-city-count{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border:1px solid #c8dbf4;border-radius:6px;background:#eef5ff;color:#2767aa;font-size:11px;font-weight:720}.market-city-ready{margin-left:auto;color:#63768a;font-size:11px}
    .market-range-head,.market-range-row{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(210px,.78fr) 96px 92px;align-items:center}.market-range-head{min-height:43px;padding:0 14px;border-top:1px solid var(--market-line);border-bottom:1px solid var(--market-line);background:#fbfcfe;color:#52657a;font-size:12px;font-weight:720}.market-range-row{min-height:58px;margin:0 14px;border-bottom:1px solid #e8edf3;font-size:13px}.market-range-row:last-child{border-bottom:0}.market-range-row>div{min-width:0;padding:9px 8px}.market-range-name{display:flex;align-items:center;gap:10px;padding-left:0!important}.market-range-index{width:32px;height:28px;display:grid;place-items:center;flex:0 0 32px;border-radius:6px;background:var(--market-blue);color:#fff;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.market-range-name strong{overflow:hidden;font-size:13px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.market-url-state{display:flex;align-items:center;gap:8px;color:#40566d;font-size:12px}.market-url-state::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--market-ok);box-shadow:0 0 0 4px var(--market-ok-soft)}.market-url-state.is-missing{color:#a86617}.market-url-state.is-missing::before{background:#c38225;box-shadow:0 0 0 4px #fff1d9}
    @media(max-width:1050px){.market-schedule{overflow:auto}.market-schedule-head,.market-schedule-row{min-width:900px}.market-city-group{overflow-x:auto}.market-city-group>summary{min-width:780px}.market-range-head,.market-range-row{min-width:780px}}
    @media(max-width:760px){body.market-config-page .content{padding:18px 14px 30px}.market-config-head{align-items:stretch;flex-direction:column}.market-primary-button{width:100%}.market-city-ready{display:none}}
    @media(prefers-reduced-motion:reduce){.market-city-chevron{transition:none}}
    /* 2026-08 两级导航：左侧只表达配置阶段，顶部承载当前阶段的页面入口。 */
    .primary-nav{padding:0 12px 16px;overflow-y:auto}
    .nav .primary-nav-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:48px;margin:2px 0;padding:8px 11px;border:0;border-radius:9px;background:transparent;color:#cfdee8;text-align:left;font-size:14px;font-weight:700;line-height:1.3}
    .nav .primary-nav-item::before{display:none}
    .nav .primary-nav-item:hover{background:rgba(255,255,255,.055);color:#f5f9fb}
    .nav .primary-nav-item.active{background:#193e61;color:#f6fbfd;box-shadow:inset 3px 0 #5cc4cb}
    .nav .primary-nav-item.active::before{display:none}
    .primary-nav-step{width:28px;height:23px;display:inline-grid;place-items:center;flex:0 0 28px;border:1px solid rgba(151,185,203,.32);border-radius:6px;color:#87a8bb;font:750 10px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.03em}
    .primary-nav-item.active .primary-nav-step{border-color:rgba(98,200,206,.45);background:rgba(98,200,206,.12);color:#67ccd2}
    .primary-nav-label{min-width:0;flex:1}
    .primary-nav-count{flex:0 0 auto;color:#7899ad;font-size:11px;font-weight:650;white-space:nowrap}
    .primary-nav-item.active .primary-nav-count{color:#91cbd0}
    .topbar{position:sticky;top:0;z-index:12;height:58px;padding:0;background:#fff;display:flex;align-items:stretch}
    body .app .topbar{height:58px}
    .topbar-heading{order:2;height:58px;display:flex;align-items:center;gap:18px;flex:0 0 auto;padding:0 32px 0 16px}
    body .app .topbar:not(.without-secondary) #pageTitle{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
    .topbar-heading .tag{margin-left:0;flex:0 0 auto}
    .secondary-nav-wrap{order:1;min-width:0;flex:1;height:58px;padding:0 0 0 32px;overflow:hidden}
    .secondary-nav{height:58px;display:flex;align-items:stretch;gap:34px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
    .secondary-nav::-webkit-scrollbar{display:none}
    .secondary-nav[hidden]{display:none}
    .secondary-nav button{position:relative;flex:0 0 auto;height:58px;display:flex;align-items:center;justify-content:center;padding:0 1px;border:0;background:transparent;color:#657b90;font-size:15px;font-weight:680;line-height:1.2;white-space:nowrap}
    .secondary-nav button:hover{color:#1d5b91}
    .secondary-nav button.active{color:#176fe5;font-weight:780}
    .secondary-nav button.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#2778e8}
    .topbar.without-secondary{height:76px}
    body .app .topbar.without-secondary{height:76px}
    .topbar.without-secondary .topbar-heading{order:1;width:100%;height:76px;flex:1;padding:0 32px}
    .topbar.without-secondary .topbar-heading .tag{margin-left:auto}
    .topbar.without-secondary .secondary-nav-wrap{display:none}
    @media(max-width:760px){
      .nav-caption{padding:5px 18px 8px}
      .primary-nav{display:flex;gap:7px;padding:0 10px 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
      .primary-nav::-webkit-scrollbar{display:none}
      .nav .primary-nav-item{flex:0 0 168px;min-height:44px;margin:0;padding:7px 10px}
      .primary-nav-count{display:none}
      .aside-utilities{position:static}
      .topbar{height:54px;padding:0}
      body .app .topbar{height:54px}
      .topbar-heading{height:54px;padding:0 12px}
      .topbar h1{font-size:23px}
      .secondary-nav-wrap{height:54px;padding:0 0 0 18px}
      .secondary-nav{height:54px;gap:25px}
      .secondary-nav button{height:54px;padding:0 1px;font-size:14px}
      .topbar.without-secondary{height:62px}
      body .app .topbar.without-secondary{height:62px}
      .topbar.without-secondary .topbar-heading{height:62px}
    }
    /* 酒店档案编辑 · 方案 A：沿用运营配置中心蓝灰语言，不借用商家看板色系。 */
    dialog.hotel-profile-modal{--profile-ink:#142238;--profile-text:#43566e;--profile-muted:#64748b;--profile-blue:#2477f3;--profile-blue-soft:#eef5ff;--profile-line:#dce5ee;--profile-bg:#f7f9fc;--profile-ok:#17836d;--profile-ok-soft:#e8f5f1;--profile-warn:#b76517;width:min(1180px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow:hidden;border-radius:14px;color:var(--profile-ink)}
    .hotel-profile-modal .modal-head{min-height:68px;padding:12px 24px;background:#fff}
    .hotel-profile-modal .modal-head h3{display:flex;align-items:center;gap:13px;margin:0;font-size:19px;letter-spacing:-.015em}
    .hotel-profile-modal-id{min-width:48px;padding:7px 9px;border:1px solid #c8dbf4;border-radius:6px;background:var(--profile-blue-soft);color:var(--profile-blue);text-align:center;font:750 12px/1.2 "SFMono-Regular",Consolas,monospace;letter-spacing:.04em}
    .hotel-profile-modal-title{display:grid;gap:2px}
    .hotel-profile-modal-title small{color:var(--profile-muted);font-size:11px;font-weight:520;letter-spacing:0}
    .hotel-profile-modal .modal-body{height:min(710px,calc(100vh - 166px));max-height:none;padding:0;overflow:hidden;background:var(--profile-bg)}
    .hotel-profile-modal .modal-foot{min-height:66px;padding:12px 24px;background:#fff}
    .hotel-profile-editor{display:grid;grid-template-columns:202px minmax(0,1fr);height:100%;min-height:0}
    .hotel-profile-form-nav{min-width:0;padding:24px 14px;background:#f3f6fa;border-right:1px solid var(--profile-line)}
    .hotel-profile-nav-caption{margin:0 10px 14px;color:var(--profile-muted);font-size:11px;font-weight:760;letter-spacing:.12em}
    .hotel-profile-nav-item{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) 8px;align-items:center;gap:9px;min-height:58px;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--profile-text);text-align:left;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}
    .hotel-profile-nav-item+.hotel-profile-nav-item{margin-top:5px}
    .hotel-profile-nav-item:hover{background:#e8f1fd;color:#285f91;filter:none}
    .hotel-profile-nav-item:focus-visible{outline:3px solid rgba(36,119,243,.2);outline-offset:1px}
    .hotel-profile-nav-item.active{background:var(--profile-blue-soft);color:#176fe5;box-shadow:inset 3px 0 var(--profile-blue)}
    .hotel-profile-nav-mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid #b9cce3;border-radius:6px;background:#fff;font:750 11px/1 "SFMono-Regular",Consolas,monospace;opacity:.9}
    .hotel-profile-nav-item.active .hotel-profile-nav-mark{border-color:#9fc1ed;background:#e4efff;color:#176fe5}
    .hotel-profile-nav-copy{min-width:0;display:grid;gap:4px}
    .hotel-profile-nav-copy b{font-size:13px;line-height:1.2}
    .hotel-profile-nav-copy small{overflow:hidden;color:inherit;font-size:10px;font-weight:520;line-height:1.25;opacity:.66;text-overflow:ellipsis;white-space:nowrap}
    .hotel-profile-nav-status{width:7px;height:7px;border-radius:50%;background:var(--profile-ok);box-shadow:0 0 0 3px var(--profile-ok-soft)}
    .hotel-profile-nav-status.pending{background:var(--profile-warn);box-shadow:none}
    .hotel-profile-nav-note{margin:25px 10px 0;padding-top:16px;border-top:1px solid var(--profile-line);color:var(--profile-muted);font-size:10px;line-height:1.75}
    .hotel-profile-form-content{min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#c8d4e1 transparent}
    .hotel-profile-form-panel{display:none;max-width:930px;margin:0 auto;padding:20px 30px 46px}
    .hotel-profile-form-panel.active{display:block;animation:hotel-profile-panel-in .16s ease-out}
    .hotel-profile-form-card{padding:20px;border:1px solid var(--profile-line);border-radius:10px;background:#fff;box-shadow:0 2px 10px rgba(20,34,56,.025)}
    .hotel-profile-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #e7edf3;color:#29405a;font-size:13px}
    .hotel-profile-card-title small{color:var(--profile-muted);font-size:10px;font-weight:520}
    .hotel-profile-form-card .form-grid{row-gap:2px}
    .hotel-profile-form-card .field{min-width:0;margin-bottom:13px}
    .hotel-profile-form-card .field label{color:var(--profile-text);font-size:11px}
    .hotel-profile-form-card .field input,.hotel-profile-form-card .field select,.hotel-profile-form-card .field textarea{min-height:40px;border-color:var(--profile-line);border-radius:8px;color:var(--profile-ink)}
    .hotel-profile-form-card .field input:focus,.hotel-profile-form-card .field select:focus,.hotel-profile-form-card .field textarea:focus{border-color:#8eb7ea;outline:3px solid rgba(36,119,243,.12)}
    .hotel-profile-form-card .repeat-card{margin-bottom:12px;border-color:var(--profile-line);border-radius:9px;background:#f8faff;box-shadow:none}
    .hotel-profile-form-card .relation-row{display:block;overflow:hidden;padding:0;border:1px solid var(--profile-line);background:#fff}
    .relation-row-toolbar{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;border-bottom:1px solid #e7edf3;background:#f8faff}
    .relation-row-heading{display:flex;align-items:center;gap:9px;min-width:0;color:#29405a}
    .relation-row-heading::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--profile-blue);box-shadow:0 0 0 4px rgba(36,119,243,.1)}
    .relation-row-heading b{font-size:13px}.relation-row-heading small{margin-left:3px;color:var(--profile-muted);font-size:10px;font-weight:520}
    .relation-row-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
    .relation-primary-control{display:flex;align-items:center;gap:7px;color:var(--profile-muted);font-size:10px;font-weight:650;white-space:nowrap}
    .hotel-profile-form-card .relation-primary-control select{width:72px;min-height:32px;height:32px;padding:0 25px 0 9px;border-radius:7px;font-size:11px}
    .relation-remove-button{min-height:32px;padding:0 10px;border:1px solid #e8b8bc;border-radius:7px;background:#fff;color:#b53c47;font-size:11px;font-weight:700}
    .relation-remove-button:hover{border-color:#d96b75;background:#fff3f4}
    .relation-remove-button:focus-visible{outline:3px solid rgba(186,59,70,.15);outline-offset:1px}
    .relation-identity-grid{display:grid;grid-template-columns:minmax(240px,1fr) 150px 210px;gap:12px;padding:14px 14px 0}
    .relation-identity-grid>.field{margin:0}
    .relation-metrics-action{align-self:end;display:grid;gap:5px;margin:0!important}
    .relation-metrics-action .btn{width:100%;min-height:40px;border:1px solid #b9d1ef;background:var(--profile-blue-soft);color:#176fe5;box-shadow:none}
    .relation-metrics-action .btn:hover{border-color:var(--profile-blue);background:#e4efff}
    .relation-metrics-status{min-height:16px;overflow:hidden}.relation-metrics-status .tag{max-width:100%;overflow:hidden;padding:2px 6px;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
    .relation-metric-section{margin:14px 14px 0;padding:12px 13px 13px;border:1px solid #e4ebf2;border-radius:8px;background:#f7f9fc}
    .relation-metric-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;color:#334b65;font-size:11px;font-weight:750}
    .relation-metric-title small{color:var(--profile-muted);font-size:9px;font-weight:520}
    .relation-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
    .hotel-profile-form-card .relation-metric-field{gap:5px;margin:0}.relation-metric-field label{display:flex;justify-content:space-between;gap:5px;white-space:nowrap}.relation-metric-field label span{color:#8291a3;font-size:9px;font-weight:520}
    .hotel-profile-form-card .relation-metric-field input{min-height:36px;height:36px;padding:7px 9px}
    .hotel-profile-form-card .relation-route-field{margin:14px}.hotel-profile-form-card .relation-route-field textarea{min-height:72px;resize:vertical}
    .hotel-profile-form-card .add-row{border-color:#a9c6e5;color:#176fe5;background:#fff}
    .hotel-profile-form-card .add-row:hover{border-color:var(--profile-blue);background:var(--profile-blue-soft)}
    .hotel-profile-modal .modal-foot .btn:not(.ghost){background:var(--profile-blue);box-shadow:0 5px 14px rgba(36,119,243,.18)}
    .hotel-profile-modal .modal-foot .btn.ghost{border:1px solid var(--profile-line);background:#fff;color:#29435f}
    .hotel-profile-modal .modal-foot .btn.ghost:hover{background:#f2f6fb}
    .hotel-profile-save-state{display:flex;align-items:center;gap:8px;margin-right:auto;color:var(--profile-muted);font-size:11px}
    .hotel-profile-save-state::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--profile-warn)}
    @keyframes hotel-profile-panel-in{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
    @media(max-width:760px){
      dialog.hotel-profile-modal{width:calc(100% - 16px);max-height:calc(100vh - 16px)}
      .hotel-profile-modal .modal-head{min-height:60px;padding:9px 12px}.hotel-profile-modal .modal-head h3{font-size:16px}.hotel-profile-modal-id{min-width:40px;padding:6px}
      .hotel-profile-modal .modal-body{height:calc(100vh - 142px)}
      .hotel-profile-editor{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
      .hotel-profile-form-nav{display:flex;gap:6px;padding:8px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--profile-line)}
      .hotel-profile-nav-caption,.hotel-profile-nav-note{display:none}
      .hotel-profile-nav-item{flex:1 1 0;grid-template-columns:26px minmax(0,1fr) 7px;gap:5px;min-width:0;min-height:48px;margin:0!important;padding:7px 5px}.hotel-profile-nav-mark{width:26px;height:26px}.hotel-profile-nav-copy b{font-size:11px;white-space:nowrap}.hotel-profile-nav-copy small{display:none}
      .hotel-profile-form-panel{padding:14px 14px 34px}
      .hotel-profile-form-card{padding:14px}.relation-row-toolbar{align-items:flex-start}.relation-row-actions{gap:6px}.relation-primary-control{align-items:flex-start;flex-direction:column;gap:2px}.hotel-profile-form-card .relation-primary-control select{width:68px}.relation-identity-grid{grid-template-columns:1fr 100px;padding:12px 12px 0}.relation-metrics-action{grid-column:1/-1}.relation-metric-section{margin:12px 12px 0}.relation-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-profile-form-card .relation-route-field{margin:12px}.hotel-profile-modal .modal-foot{min-height:58px;padding:9px 12px}.hotel-profile-save-state{display:none}
    }
    @media(prefers-reduced-motion:reduce){.hotel-profile-form-panel.active{animation:none}}
    .dingtalk-config-panel{margin-top:18px;border-top:4px solid #2a7ba6}.dingtalk-path{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#285a78}.dingtalk-path span{padding:5px 9px;border:1px solid #cfe0e9;border-radius:8px;background:#f4f9fb;font:600 12px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace}.dingtalk-path i{font-style:normal;color:#8ba0ae}.dingtalk-schedule{display:grid;gap:4px}.dingtalk-schedule strong{color:#173d5d}.dingtalk-form-path{grid-column:1/-1;padding:14px 16px;border-left:4px solid var(--cyan);border-radius:10px;background:#f3f9fa;margin-bottom:14px}.dingtalk-form-path small{display:block;margin-bottom:8px;color:var(--muted)}.dingtalk-run-error{max-width:300px;white-space:normal;color:var(--danger)}@media(max-width:760px){.dingtalk-form-path{grid-column:auto}.dingtalk-config-panel table{min-width:900px}}
    #douyinBindingMode[hidden],#singleHotelBinding[hidden],#groupHotelBinding[hidden]{display:none!important}.credential-binding-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px}.credential-binding-option{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #d9e3e9;border-radius:12px;background:#fff;cursor:pointer}.credential-binding-option:has(input:checked){border-color:#2b8aad;background:#f0f9fb;box-shadow:0 0 0 2px #2b8aad1f}.credential-binding-option b,.credential-binding-option small{display:block}.credential-binding-option small{margin-top:3px;color:var(--muted);font-weight:400}.credential-hotel-picker{border:1px solid #dce6eb;border-radius:12px;background:#f8fbfc;overflow:hidden}.credential-hotel-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #dce6eb}.credential-hotel-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-height:300px;overflow:auto}.credential-hotel-choice{display:flex;align-items:flex-start;gap:8px;padding:11px 14px;border-bottom:1px solid #e8eef1}.credential-hotel-choice:nth-child(odd){border-right:1px solid #e8eef1}.credential-hotel-choice b,.credential-hotel-choice small{display:block}.credential-hotel-choice small{margin-top:2px;color:var(--muted);font-weight:400}.credential-group-summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border-left:3px solid #2b8aad;border-radius:8px;background:#f1f8fa;color:#35566a}@media(max-width:760px){.credential-binding-mode,.credential-hotel-picker-grid{grid-template-columns:1fr}.credential-hotel-choice:nth-child(odd){border-right:0}}
  
/* Merchant login editor: a compact, store-bound workspace. */
/* Robot connection editor: compact, independent of order delivery settings. */
dialog.bot-editor-modal{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:14px;color:#172b45}
.bot-editor-modal .modal-head{padding:16px 20px}.bot-editor-modal .modal-head h3{font-size:17px;font-weight:650}.bot-editor-modal .modal-head .close{width:32px;height:32px;border-radius:7px;font-size:24px}
.bot-editor-modal .modal-body{padding:16px 20px;max-height:calc(100dvh - 160px);overflow:auto}.bot-editor-modal .modal-foot{padding:12px 20px}.bot-editor-modal .modal-foot .btn{min-height:36px;padding:8px 17px;font-size:13px}.bot-editor-modal button:disabled{opacity:.6;cursor:wait}
.bot-editor{display:grid;gap:14px}.bot-editor .field{gap:5px;margin:0}.bot-editor .field>label,.bot-label-line label{font-size:12px;font-weight:600}.bot-editor .field :is(input,textarea){min-height:39px;padding:9px 11px;font-size:13px;transition:border-color .15s,box-shadow .15s}.bot-editor .field :is(input,textarea):focus{border-color:#7da6c6;box-shadow:0 0 0 3px #eaf2f8;outline:0}.bot-editor .field textarea{min-height:60px;max-height:100px;line-height:1.5;resize:vertical}.bot-editor .field input::placeholder,.bot-editor .field textarea::placeholder{color:#93a0ad}
.bot-editor-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:2px}.bot-platform-picker{display:flex;gap:3px;margin:0;padding:3px;min-width:0;border:1px solid #dde6ed;border-radius:9px;background:#f4f7fa}.bot-platform-picker label{position:relative;cursor:pointer}.bot-platform-picker input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.bot-platform-picker label>span{display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 15px;border:1px solid transparent;border-radius:6px;color:#718296;font-size:13px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.bot-platform-picker input:checked+span{background:#fff;border-color:#d9e3ec;color:#203f5b;box-shadow:0 1px 3px #122e4810}.bot-platform-picker input:focus-visible+span{outline:2px solid #78a8d0;outline-offset:2px}.bot-platform-picker .bot-platform-mark{width:20px;height:20px;flex-basis:20px;border-radius:5px;box-shadow:none;font-size:11px}.bot-enable-control{display:flex;align-items:center;gap:8px;color:#667d90;font-size:12px;white-space:nowrap}
.bot-label-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.bot-input-state{font-size:11px;color:#7b8d9c}.bot-input-state.is-filled{color:#215f91}.bot-secret-input{position:relative}.bot-editor .bot-secret-input input{padding-right:55px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.bot-editor .bot-secret-input input::placeholder{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}.bot-secret-input button{position:absolute;right:4px;top:4px;bottom:4px;min-width:44px;padding:4px 7px;border:0;border-radius:5px;background:transparent;color:#577691;font-size:12px}.bot-secret-input button:hover{background:#edf3f8}.bot-optional{margin-left:7px;font-weight:400;color:#93a0ad}.bot-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bot-table{min-width:780px}.bot-table th:nth-child(1){width:52px}.bot-table th:nth-child(2){width:25%}.bot-table th:nth-child(3){width:142px}.bot-table th:nth-child(4){width:114px}.bot-table th:nth-child(5){width:70px}.bot-table th:nth-child(6){width:auto}.bot-table th:nth-child(7){width:140px}
.ota-task-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ota-task-actions .btn{white-space:nowrap}.ota-notification-settings{display:grid;gap:0}.ota-notification-note{margin:0 0 13px;font-size:12px;color:#6e8193}.ota-notification-choice{display:grid;grid-template-columns:minmax(0,1fr) 164px;align-items:center;gap:6px 16px;padding:13px 0;border-top:1px solid #e7edf2}.ota-notification-choice strong{display:block;font-size:13px}.ota-notification-choice small{display:block;margin-top:3px;color:#7890a4;font-size:11px}.ota-notification-choice select{width:100%;min-height:38px;padding:7px 9px;border:1px solid #dbe3e9;border-radius:7px;background:#fff;font-size:12px}.ota-notification-save-state{grid-column:2;text-align:right;min-height:15px;color:#278365;font-size:11px}.ota-notification-empty{padding:22px 0;text-align:center;color:#7890a4}
@media(max-width:600px){dialog.bot-editor-modal{width:calc(100vw - 20px)}.bot-editor-modal .modal-head,.bot-editor-modal .modal-body{padding:14px 16px}.bot-editor-modal .modal-foot{padding:11px 16px}.bot-platform-picker label>span{padding:7px 12px}.bot-editor .field :is(input,textarea){font-size:16px;min-height:42px}.bot-editor .bot-secret-input input{font-size:14px}.bot-editor .bot-secret-input button{min-width:44px}.ota-notification-choice{grid-template-columns:minmax(0,1fr) 152px;gap:6px 10px}.ota-task-actions{width:100%}.ota-task-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){.bot-editor :is(input,textarea,span){transition:none!important}}
.credential-editor-modal{width:min(720px,calc(100vw - 32px));max-width:720px;color:#172b45}
.credential-editor-modal .modal-head{padding:18px 22px}.credential-editor-modal .modal-head h3{font-size:19px;letter-spacing:0}
.credential-editor-modal .modal-body{padding:18px 22px;max-height:calc(100dvh - 170px);overflow:auto}
.credential-editor-modal .modal-foot{padding:12px 22px}.credential-editor{display:grid;gap:18px}
.credential-editor [hidden],#credentialAutoLoginFields[hidden]{display:none!important}
.credential-identity{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #dde7ef}
.credential-platform{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:11px;background:#edf4fa;color:#215f91;font-weight:700;font-size:14px}
.credential-identity>div{flex:1;min-width:0}.credential-identity strong{display:block;font-size:15px;line-height:1.5}.credential-identity small{display:block;color:#62758b;font-size:12px;margin-top:2px}.credential-identity>.tag{flex-shrink:0}
.credential-entry-tabs{display:flex;gap:4px;width:fit-content;padding:3px;border-radius:9px;background:#f0f4f8}
.credential-entry-tabs button{border:0;background:transparent;color:#62758b;font:inherit;font-size:13px;font-weight:600;border-radius:7px;padding:8px 16px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.credential-entry-tabs button.active{background:#fff;color:#215f91;box-shadow:0 1px 4px #193d6115}
.credential-login-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 6px}
.credential-editor h4{font-size:14px;margin:0;line-height:1.5}.credential-editor p{font-size:12px;color:#62758b;line-height:1.6;margin:4px 0 0}
.credential-login-entry .btn{flex-shrink:0;font-size:13px;padding:10px 14px;min-height:40px}
#credentialReloginStatus:empty{display:none}.credential-editor .field{gap:6px}.credential-editor .field label{font-size:12px;color:#52667d}
.credential-editor .field input,.credential-editor .field select{min-height:40px;padding:9px 11px}.credential-editor .field textarea{min-height:104px;max-height:210px;font-size:13px;padding:11px;transition:border-color .15s,box-shadow .15s}.credential-editor textarea.has-content{border-color:#78a493;background:#fbfdfc}
.credential-editor :is(input,select,textarea):focus-visible,.credential-editor button:focus-visible,.credential-details summary:focus-visible{outline:2px solid #78a8d0;outline-offset:2px}
.credential-renewal{padding:15px 16px;border:1px solid #dde7ef;border-radius:12px;background:#f8fafc}.credential-renewal-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.credential-renewal-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:11px;color:#62758b}
.credential-text-button{padding:0;border:0;background:transparent;color:#215f91;font:inherit;font-size:12px;cursor:pointer}.credential-text-button:hover{text-decoration:underline}
.credential-switch{position:relative;display:block;width:38px;height:22px;flex:0 0 38px;cursor:pointer}.credential-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;min-height:0!important;cursor:pointer}.credential-switch span{display:block;width:38px;height:22px;border-radius:14px;background:#c7d2dd;pointer-events:none;transition:background .18s}.credential-switch span:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .18s}.credential-switch input:checked+span{background:#215f91}.credential-switch input:checked+span:after{transform:translateX(16px)}.credential-switch input:disabled+span{opacity:.45}.credential-switch input:focus-visible+span{outline:2px solid #78a8d0;outline-offset:3px}
.credential-editor .credential-login-error{color:#99602c;margin-top:10px}.credential-details{border-top:1px solid #dde7ef;padding-top:12px}.credential-details summary{color:#62758b;font-size:12px;font-weight:600;cursor:pointer;width:fit-content}.credential-details .form-grid{margin-top:14px;gap:12px 16px}
.hotel-login-row .hotel-profile-card-title{display:flex;align-items:center;justify-content:space-between}.hotel-login-clear{display:flex;align-items:center;gap:7px;font-size:12px;color:#62758b;margin-top:12px}.hotel-login-clear input{width:15px;height:15px;min-height:0}
@media(max-width:600px){.credential-editor-modal{width:calc(100vw - 20px);border-radius:14px}.credential-editor-modal .modal-head,.credential-editor-modal .modal-body{padding:16px}.credential-editor-modal .modal-foot{padding:12px 16px}.credential-editor{gap:15px}.credential-identity{flex-wrap:wrap;gap:9px}.credential-identity strong{font-size:14px}.credential-login-entry{align-items:flex-start;flex-direction:column;gap:12px}.credential-login-entry .btn{width:100%}.credential-renewal-meta{align-items:flex-start;flex-direction:column}.credential-editor .field input,.credential-editor .field select,.credential-editor .field textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.credential-editor *{transition:none!important}}

/* Merchant Cookie directory: restrained controls and a compact platform ledger. */
.merchant-credential-panel{--credential-ink:#182d43;--credential-muted:#61768b;--credential-line:#e3ebf1;border-radius:12px;box-shadow:none;overflow:hidden}
.merchant-credential-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--credential-line)}
.merchant-credential-title{display:flex;align-items:center;gap:12px;min-width:0}.merchant-credential-title h3{margin:0;font-size:17px;font-weight:650;white-space:nowrap;letter-spacing:0;color:var(--credential-ink)}
#credentialResultCount{font-size:11px;color:var(--credential-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.merchant-credential-tools{display:flex;align-items:center;gap:8px}.merchant-credential-tools .btn{min-height:34px;padding:8px 12px;border-radius:7px;font-size:12px}
.credential-search{position:relative;width:190px}.credential-search svg{position:absolute;left:10px;top:10px;width:14px;height:14px;fill:none;stroke:#7890a4;stroke-width:1.7;pointer-events:none}
.credential-search input{width:100%;min-height:34px;height:34px;padding:6px 9px 6px 31px;border:1px solid var(--credential-line);border-radius:7px;font:inherit;font-size:12px;background:#f7f9fb;transition:border-color .15s,box-shadow .15s,background .15s}
.credential-search input:focus{outline:0;border-color:#6395bc;background:#fff;box-shadow:0 0 0 3px #235e8c10}
.merchant-credential-table{width:100%;min-width:970px;table-layout:fixed;font-size:13px;color:var(--credential-ink)}
.merchant-credential-table th{padding:10px 12px;font-size:12px;line-height:1.3;letter-spacing:0;font-weight:600;background:#f7f9fb;white-space:nowrap}
.merchant-credential-table td{padding:10px 12px;line-height:1.45;height:62px;border-bottom:1px solid var(--credential-line);vertical-align:middle}
.merchant-credential-table tbody tr:last-child td{border-bottom:0}.merchant-credential-table tbody tr{transition:background .12s}.merchant-credential-table tbody tr:hover{background:#f7fafc}
.merchant-credential-table .credential-platform-cell{background:#fbfcfe;vertical-align:top;border-right:1px solid var(--credential-line);padding-top:16px}
.credential-platform-cell .platform-identity{gap:8px;align-items:flex-start}.credential-platform-cell .platform-identity-copy strong{font-size:13px;font-weight:650;line-height:1.4}.credential-platform-cell .platform-identity-copy small{font-size:10px;white-space:nowrap;margin:3px 0 0;line-height:1.4}.credential-platform-cell .platform-mark{box-shadow:none;border-radius:7px}
.credential-store-name{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credential-store-id{display:block!important;font-size:11px;margin-top:3px;font-variant-numeric:tabular-nums}
.credential-store-details summary{font-size:13px;font-weight:550;cursor:pointer;list-style:none;display:flex;align-items:center;gap:4px;width:fit-content;max-width:100%;border-radius:4px}.credential-store-details summary::-webkit-details-marker{display:none}.credential-store-details summary:after{content:'⌄';margin-left:7px;font-size:14px;color:#7890a4;transition:transform .15s}.credential-store-details[open] summary:after{transform:rotate(180deg)}.credential-store-details summary span{font-weight:400;color:var(--credential-muted);white-space:nowrap}
.credential-store-list{display:grid;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid var(--credential-line);font-size:12px;color:#4a6075}.credential-store-list>div{display:flex;gap:8px;line-height:1.4}.credential-store-list span{color:#8898a8;font-size:10px;font-variant-numeric:tabular-nums;padding-top:2px}
.merchant-credential-table .tag{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.4;padding:3px 8px;border-radius:5px;margin:0}
.credential-check-time{display:block;font-size:10px;color:#7890a4;margin-top:5px;white-space:nowrap;font-variant-numeric:tabular-nums}.credential-expiry-cell{font-size:12px;color:#61768b}.credential-expiry-time{display:block!important;margin-top:2px;font-size:10px;font-variant-numeric:tabular-nums}
.credential-cookie-flag{font-size:12px;white-space:nowrap;color:#61768b}.credential-cookie-flag.missing{color:#aa5358}.credential-auto-flag{display:block!important;font-size:10px;margin-top:4px;white-space:nowrap;color:#7890a4}
.credential-enabled{display:inline-flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap;color:#8392a0}.credential-enabled:before{content:'';width:5px;height:5px;border-radius:50%;background:#b8c3cc}.credential-enabled.is-on{color:#526c65}.credential-enabled.is-on:before{background:#55a389}
.merchant-credential-table .credential-row-actions{white-space:nowrap;padding-left:8px;padding-right:8px}.merchant-credential-table .btn.small{min-height:28px;border-radius:5px;padding:6px 8px;font-size:11px;line-height:1.2}.merchant-credential-table .btn+.btn{margin-left:3px}.merchant-credential-table .credential-delete{background:transparent;color:#a14b55}.merchant-credential-table .credential-delete:hover{background:#faedf0;color:#943845}
.merchant-credential-panel :is(button,summary):focus-visible{outline:2px solid #6395bc;outline-offset:3px}
.credential-compact-editor{width:min(640px,calc(100vw - 24px));max-width:640px}.credential-compact-editor .modal-head{padding:15px 18px}.credential-compact-editor .modal-head h3{font-size:17px}.credential-compact-editor .modal-head .close{width:32px;height:32px;font-size:22px;border-radius:7px}.credential-compact-editor .modal-body{padding:15px 18px}.credential-compact-editor .modal-foot{padding:11px 18px}.credential-compact-editor .credential-editor{gap:13px}.credential-compact-editor .credential-identity{padding-bottom:12px;gap:10px}.credential-compact-editor .credential-platform{flex-basis:34px;height:34px;font-size:12px;border-radius:8px}.credential-compact-editor .credential-identity strong{font-size:14px}.credential-compact-editor .credential-entry-tabs button{padding:7px 13px;font-size:12px}.credential-compact-editor .credential-renewal{padding:12px;border-radius:8px;background:#fafcfd}.credential-compact-editor .credential-renewal-meta{margin-top:7px}.credential-compact-editor .credential-login-entry{padding:0}.credential-compact-editor .credential-login-entry .btn{min-height:34px;padding:8px 11px;font-size:12px}.credential-compact-editor .field textarea{min-height:88px;max-height:160px;padding:10px;resize:vertical;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.credential-input-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.credential-input-label label{margin:0}.credential-input-label button{font-size:11px}.credential-editor .input-warning{color:#98652d}.credential-health-panel{display:flex;align-items:center;gap:12px}.credential-health-panel #credentialHealthSummary{flex:1;min-width:0}.credential-health-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:start}.credential-health-overview small{font-size:10px!important;line-height:1.45!important}.credential-expiry-note>small{display:block;color:#7890a4;margin-bottom:4px}.credential-expiry-note>div{font-size:12px;color:#52667d}.credential-health-reason{display:block;margin-top:7px;color:#7890a4;font-size:10px}.credential-compact-editor .credential-health-panel>.btn{flex-shrink:0;min-height:30px;padding:6px 9px;font-size:11px}.credential-compact-editor .credential-details{padding-top:10px}.credential-compact-editor .field :is(input,select){min-height:36px;padding:7px 10px}.credential-compact-editor .modal-foot .btn{min-height:34px;padding:8px 16px;font-size:13px}
@media(max-width:1200px) and (min-width:761px){.merchant-credential-head{flex-wrap:wrap}.merchant-credential-tools{margin-left:auto}.merchant-credential-title{gap:10px}}
@media(max-width:760px){.merchant-credential-head{padding:14px;flex-direction:column;align-items:stretch;gap:12px}.merchant-credential-title{justify-content:space-between}.merchant-credential-title h3{font-size:16px}.merchant-credential-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.credential-search{width:100%;grid-column:1/-1}.credential-search input{height:36px}.merchant-credential-tools .btn{min-height:36px}.merchant-credential-table{display:block;min-width:0;width:100%;table-layout:auto}.merchant-credential-table colgroup,.merchant-credential-table thead{display:none}.merchant-credential-table tbody{display:block}.merchant-credential-table tr{display:grid;grid-template-columns:1fr 1fr;padding:12px 14px;gap:10px 16px;border-bottom:1px solid var(--credential-line)}.merchant-credential-table tr:before{content:attr(data-platform);grid-column:1/-1;color:#235e8c;font-size:11px;font-weight:650}.merchant-credential-table td{display:block;min-width:0;width:auto;height:auto;padding:0;border:0}.merchant-credential-table td.credential-platform-cell{display:none}.merchant-credential-table .credential-store-cell{grid-column:1/-1}.merchant-credential-table .credential-store-name{white-space:normal}.merchant-credential-table td[data-label]:not(.credential-store-cell):before{content:attr(data-label);display:block;font-size:10px;color:#8494a3;margin-bottom:5px}.merchant-credential-table .credential-row-actions{display:flex;justify-content:flex-end;gap:5px;grid-column:1/-1;padding:0}.merchant-credential-table .credential-row-actions .btn{min-height:32px;padding:7px 13px}.merchant-credential-table .empty{grid-column:1/-1;padding:15px 0}.credential-compact-editor .modal-body{max-height:calc(100dvh - 145px)}.credential-compact-editor .credential-health-panel{align-items:flex-start;flex-direction:column;gap:9px}.credential-compact-editor .credential-health-panel #credentialHealthSummary{width:100%}.credential-compact-editor .credential-health-panel>.btn{align-self:flex-end}.credential-compact-editor .credential-health-overview{gap:10px}.credential-compact-editor .credential-login-entry{gap:9px}.credential-compact-editor .credential-login-entry .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.merchant-credential-panel *,.credential-compact-editor *{transition:none!important;animation:none!important}}

/* External accounts share the compact directory controls without store grouping. */
.external-credential-table{min-width:900px}
.external-credential-table .external-credential-platform .platform-identity{gap:8px}
.external-credential-platform .platform-mark{box-shadow:none;border-radius:7px}
.external-credential-platform .platform-identity-copy strong{font-size:13px;font-weight:600}
.external-credential-account{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.015em;color:#283f56}
@media(max-width:760px){.external-credential-table{min-width:0}.external-credential-table .external-credential-platform{display:none}.external-credential-account{white-space:normal;overflow-wrap:anywhere}}

/* Notification robots: a compact directory with readable connection states. */
.bot-workspace{--bot-ink:#1c334b;--bot-muted:#718598;--bot-line:#e1e9ef;--bot-blue:#235e8c;display:grid;gap:14px;color:var(--bot-ink)}
.bot-workspace [hidden],.bot-editor [hidden]{display:none!important}
.bot-workspace .panel{border:1px solid var(--bot-line);border-radius:11px;box-shadow:none;overflow:hidden;margin:0}
.bot-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.bot-toolbar-head>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bot-toolbar-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:0}.bot-toolbar-head>div>span{color:var(--bot-muted);font-size:11px;font-variant-numeric:tabular-nums}
.bot-workspace .btn{min-height:33px;padding:7px 11px;border-radius:7px;font-size:12px}.bot-workspace button{font-family:inherit}.bot-workspace button:disabled{opacity:.45;cursor:default}
.bot-list-filters{display:flex;align-items:center;gap:9px;padding:10px 16px;border-top:1px solid var(--bot-line);background:#fafcfd;flex-wrap:wrap}
.bot-platform-tabs{display:flex;gap:3px;padding:3px;border:1px solid #e2eaf0;background:#f0f4f7;border-radius:7px}.bot-platform-tabs button{display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:#718598;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.bot-platform-tabs button span{font-size:10px;opacity:.8;font-variant-numeric:tabular-nums}.bot-platform-tabs button[aria-pressed=true]{background:#fff;color:#235e8c;border-color:#dce6ed}.bot-platform-tabs button:hover{color:#235e8c}
.bot-list-search{width:260px;min-width:150px;margin-left:auto}.bot-list-search input,.bot-list-filters select{height:34px;min-height:34px;padding:6px 10px;border:1px solid #dbe5ed;border-radius:7px;background:#fff;color:#40596f;font:inherit;font-size:12px;transition:border-color .15s,box-shadow .15s}.bot-list-search input{width:100%}.bot-list-filters select{width:150px}.bot-list-filters :is(input,select):focus{outline:0;border-color:#7da6c6;box-shadow:0 0 0 3px #eaf2f8}
.bot-text-button{padding:4px 0;border:0;background:transparent;color:#235e8c;font-size:11px;cursor:pointer}.bot-text-button:hover{text-decoration:underline}.bot-filter-feedback{border-top:1px solid #edf1f5;padding:8px 16px;font-size:11px;color:#7890a4;line-height:1.4}
#botGroups{display:grid;gap:12px}.bot-workspace .bot-platform-title{padding:12px 16px;background:#fff;border-bottom:1px solid var(--bot-line)}.bot-workspace .bot-platform-title h4{gap:9px;font-size:14px;font-weight:600}.bot-workspace .bot-platform-title h4>span:last-child{margin-left:2px;font-size:11px;font-weight:400;color:var(--bot-muted)}
.bot-workspace .bot-platform-mark{width:24px;height:24px;flex-basis:24px;border-radius:6px;box-shadow:none;background:#159a99;font-size:13px}.bot-workspace .bot-platform-mark.dingtalk{background:#247cdf}
.bot-workspace .bot-table{min-width:820px;width:100%;table-layout:fixed;font-size:12px}.bot-workspace .bot-table th{padding:9px 12px;background:#f7f9fb;color:#718598;font-size:11px;font-weight:600;letter-spacing:0;white-space:nowrap}.bot-workspace .bot-table th:nth-child(1){width:46px}.bot-workspace .bot-table th:nth-child(2){width:30%}.bot-workspace .bot-table th:nth-child(3){width:142px}.bot-workspace .bot-table th:nth-child(4){width:64px}.bot-workspace .bot-table th:nth-child(5){width:auto}.bot-workspace .bot-table th:nth-child(6){width:114px}
.bot-workspace .bot-table td{padding:11px 12px;border-bottom:1px solid var(--bot-line);line-height:1.45;vertical-align:middle}.bot-workspace .bot-table tr:last-child td{border-bottom:0}.bot-workspace .bot-table tbody tr:hover{background:#f8fbfd}.bot-workspace .bot-table tbody tr.bot-dragging{opacity:.5;background:#edf5fb}
.bot-workspace .bot-name-cell strong{font-size:13px;font-weight:600;line-height:1.55;overflow-wrap:anywhere}.bot-workspace .bot-table .tag{display:inline-flex;white-space:nowrap;font-size:11px;line-height:1.4;padding:3px 7px;border-radius:5px;font-weight:500;margin:0}
.bot-connection{display:flex;align-items:center;gap:6px;font-size:11px;color:#8a9cab;white-space:nowrap;line-height:1.5}.bot-connection+.bot-connection{margin-top:4px}.bot-connection:before{content:'';width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#b6c3ce}.bot-connection.is-configured{color:#33816b}.bot-connection.is-configured:before{background:#41a385}.bot-connection.is-missing{color:#bd5960}.bot-connection.is-missing:before{background:#bd5960}
.bot-workspace .drag-handle{width:24px;height:28px;min-height:28px;padding:0;border:0;border-radius:5px;background:transparent;font-size:18px;font-weight:400;color:#93a6b6;cursor:grab}.bot-workspace .drag-handle:hover{background:#edf3f8;color:#235e8c}.bot-sort-mobile{display:none}
.bot-workspace .bot-actions .btn{min-height:28px;padding:6px 9px;font-size:11px;border-radius:5px}.bot-workspace .bot-actions .btn+.btn{margin-left:5px}.bot-workspace .bot-actions .danger{border-color:transparent;background:#fff3f3;color:#b44851}
.bot-remark-short,.bot-remark p{margin:0;font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:#74889a}.bot-remark summary{list-style:none;cursor:pointer}.bot-remark summary::-webkit-details-marker{display:none}.bot-remark-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.6;overflow-wrap:anywhere;color:#74889a}.bot-remark-toggle{display:block;width:fit-content;margin-top:3px;font-size:10px;color:#427ba6}.bot-remark:not([open]) .bot-collapse,.bot-remark[open] .bot-expand,.bot-remark[open] .bot-remark-preview{display:none}.bot-remark[open] .bot-remark-toggle{margin:0 0 5px}.bot-remark p{max-height:220px;overflow:auto}.bot-muted{font-size:11px;color:#8a9cab}.bot-workspace .bot-empty{padding:32px 20px;font-size:13px;color:#7890a4}
.bot-workspace :is(button,summary):focus-visible{outline:2px solid #7da6c6;outline-offset:3px}.bot-form-error{margin:0;padding:10px 12px;border-radius:7px;background:#fff3f3;color:#a6454d;font-size:12px;line-height:1.5}
@media(max-width:1100px){.bot-list-search{margin-left:0;flex:1;min-width:180px}.bot-list-filters select{width:140px}.bot-workspace .bot-table th:nth-child(2){width:27%}}
@media(max-width:700px){.bot-workspace{gap:12px}.bot-toolbar-head{padding:12px 14px}.bot-toolbar-head>div{gap:4px;align-items:flex-start;flex-direction:column}.bot-toolbar-head h3{font-size:15px}.bot-list-filters{display:grid;grid-template-columns:minmax(0,1fr) 136px;padding:10px 14px;gap:8px}.bot-platform-tabs{grid-column:1/-1;width:fit-content}.bot-list-search{width:auto;min-width:0;margin:0}.bot-list-search input{font-size:16px;min-height:38px}.bot-list-filters select{width:100%;min-height:38px;font-size:12px}.bot-list-filters .bot-text-button{width:fit-content}.bot-filter-feedback{padding:8px 14px}.bot-workspace .bot-platform-title{padding:11px 14px}.bot-workspace .bot-table{display:block;min-width:0;table-layout:auto}.bot-workspace .bot-table thead{display:none}.bot-workspace .bot-table tbody{display:block}.bot-workspace .bot-table tr{display:grid;grid-template-columns:minmax(0,1fr) 110px;grid-template-areas:'name name' 'connection status' 'remark remark' 'sort actions';gap:10px 14px;padding:14px;border-bottom:1px solid var(--bot-line)}.bot-workspace .bot-table tr:last-child{border:0}.bot-workspace .bot-table td{display:block;min-width:0;padding:0;border:0}.bot-name-cell{grid-area:name}.bot-connection-cell{grid-area:connection}.bot-status-cell{grid-area:status}.bot-remark-cell{grid-area:remark}.bot-workspace .drag-cell{grid-area:sort;width:auto;align-self:center}.bot-actions{grid-area:actions;align-self:center;text-align:right}.bot-workspace .bot-table td[data-label]:before{content:attr(data-label);display:block;font-size:10px;margin-bottom:4px;color:#8b9eaf}.bot-workspace .drag-handle{display:none}.bot-sort-mobile{display:flex;gap:6px}.bot-sort-mobile button{width:32px;height:30px;border:1px solid #e0e9f0;border-radius:5px;background:#fff;color:#66849b;font-size:16px;cursor:pointer}.bot-workspace .bot-actions .btn{min-height:30px;padding:7px 10px}.bot-remark-preview{-webkit-line-clamp:2}.bot-workspace .bot-table th{width:auto}}
@media(prefers-reduced-motion:reduce){.bot-workspace *{transition:none!important;animation:none!important}}

/* Verification bot setup stays in the compact resource editor. */
.bot-login-details{border:1px solid #dde6ed;border-radius:8px;padding:10px 12px;background:#f8fbfd}.bot-login-details summary{cursor:pointer;font-size:12px;font-weight:600;color:#29465f}.bot-login-details summary>span{float:right;color:#8191a0;font-size:11px;font-weight:400}.bot-login-toggle{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px;font-size:12px}.bot-login-note{margin:6px 0;font-size:11px;line-height:1.6;color:#728699}.bot-login-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.bot-login-fields[hidden],.credential-login-bot[hidden]{display:none}.bot-login-fields>.bot-login-note{grid-column:1/-1}.bot-login-fields input{width:100%;min-width:0}.credential-login-bot{display:grid;gap:7px;border-top:1px solid #dde6ed;margin-top:13px;padding-top:12px}.credential-login-bot label{font-size:12px;font-weight:600}.credential-login-bot .credential-input-label>div{display:flex;gap:12px}.credential-login-bot select{width:100%;min-width:0;min-height:38px;font-size:12px;border:1px solid #dbe3e9;border-radius:7px;padding:8px;background:#fff}.credential-login-bot small{color:#738699;font-size:11px;line-height:1.6}.credential-login-bot a{text-decoration:none}.credential-login-bot select:focus-visible{outline:2px solid #7da6c6;outline-offset:2px}@media(max-width:600px){.bot-login-fields{grid-template-columns:1fr}.credential-login-bot select{font-size:16px}.credential-login-bot .credential-input-label{align-items:flex-start;gap:8px;flex-wrap:wrap}}
:root { --ota-group-muted: #637588; }
dialog.ota-group-modal { width: min(940px, calc(100vw - 32px)); max-width: 940px; }
.ota-group-toolbar,.ota-group-card-head,.ota-group-card-foot,.ota-group-search { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ota-group-toolbar { margin-bottom: 12px; }
.ota-group-toolbar p,.ota-group-card p { margin: 0; }
.ota-group-note,.ota-group-legacy small { color: var(--ota-group-muted); font-size: 13px; line-height: 1.7; }
.ota-group-list { display: grid; gap: 12px; margin: 18px 0; }
.ota-group-card { border: 1px solid #dae4ec; border-radius: 12px; padding: 18px; display: grid; gap: 10px; background: #fff; }
.ota-group-card-head { justify-content: flex-start; }
.ota-group-card-head strong { font-size: 16px; }
.ota-group-card small { color: var(--ota-group-muted); line-height: 1.6; }
.ota-group-card-foot { border-top: 1px solid #edf1f5; padding-top: 12px; flex-wrap: wrap; }
.ota-group-chip { display: inline-block; background: #f0f5fa; border-radius: 6px; padding: 4px 8px; margin: 0 5px 5px 0; font-size: 13px; }
.ota-group-legacy { display: grid; justify-items: start; gap: 8px; margin-top: 18px; }
.ota-group-search { margin: 4px 0 10px; }
.ota-group-search input { min-width: 0; flex: 1; }
.ota-group-search button { white-space: nowrap; }
.ota-group-hotels { max-height: 280px; overflow: auto; border: 1px solid #dae4ec; border-radius: 9px; }
.ota-group-hotel { display: flex !important; gap: 12px; align-items: flex-start; padding: 13px 14px; border-bottom: 1px solid #edf1f5; cursor: pointer; font-weight: 400 !important; }
.ota-group-hotel:last-child { border-bottom: 0; }
.ota-group-hotel[hidden] { display: none !important; }
.ota-group-hotel:has(input:checked) { background: #eff6fd; }
.ota-group-hotel input,.ota-group-enabled input { width: 16px !important; height: 16px; flex: none; margin-top: 3px; }
.ota-group-hotel span { display: grid; gap: 4px; min-width: 0; }
.ota-group-hotel small { font-size: 12px; line-height: 1.6; color: var(--ota-group-muted); }
.ota-group-hint { display: block; font-size: 12px; color: #27745a; line-height: 1.65; margin-top: 7px; }
.ota-group-hint.conflict { color: #b44f22; }
.ota-group-enabled { display: flex !important; align-items: center; gap: 8px; }
.ota-group-preview { white-space: pre-wrap; overflow-wrap: anywhere; margin: 10px 0 0; padding: 18px; border: 1px solid #dae4ec; border-radius: 10px; background: #f6f8fb; font-family: inherit; font-size: 13px; line-height: 1.9; }
.ota-group-history small { display: block; color: var(--ota-group-muted); line-height: 1.7; margin-top: 5px; }
.ota-group-modal button:disabled { opacity: .45; cursor: not-allowed; }
@media(max-width:620px) { .ota-group-toolbar { align-items: flex-start; }.ota-group-card { padding: 13px; }.ota-group-card-foot { align-items: flex-start; }.ota-group-search { flex-wrap: wrap; }.ota-group-search input { flex-basis: 100%; }.ota-group-hotels { max-height: 300px; } }

/* Windows login-helper download entry */
.login-helper-download{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.login-helper-download:focus-visible{outline:3px solid rgba(51,166,173,.3);outline-offset:2px}
.login-helper-install{display:grid;gap:6px;margin:8px 0 12px}
.login-helper-install .login-helper-download{justify-self:start;color:var(--blue)}
.login-helper-install small{color:var(--muted);line-height:1.6}
.merchant-credential-tools{flex-wrap:wrap}
@media(max-width:760px){.merchant-credential-tools>.login-helper-download{grid-column:1/-1}}
