:root{--navy:#102c43;--navy2:#183f5a;--ink:#183142;--muted:#6e8290;--line:#dce5e9;--surface:#fff;--bg:#f4f7f8;--gold:#c89b56;--gold2:#e9d4ad;--red:#ae4c3b;--green:#2c7464;--shadow:0 10px 34px rgba(16,44,67,.07);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;color:var(--ink);font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);line-height:1.55}button,input,select{font:inherit}button{cursor:pointer}a{color:#17617c;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,3vw,2.8rem);line-height:1.16;letter-spacing:-.035em;margin-bottom:10px}h2{font-size:1.35rem;line-height:1.3;margin-bottom:6px}h3{font-size:1.13rem;line-height:1.35;margin-bottom:4px}small{font-size:.82rem}
.topbar{background:var(--navy);color:#fff;box-shadow:0 4px 20px rgba(12,32,50,.16)}.topbar-inner{max-width:1380px;margin:auto;display:flex;align-items:center;gap:42px;min-height:78px;padding:0 34px}.brand,.login-brand{display:flex;align-items:center;color:#fff;white-space:nowrap;border-left:3px solid var(--gold);padding-left:13px}.brand:hover{text-decoration:none}.brand strong,.login-brand strong{display:block;font-family:"Songti SC","SimSun",serif;font-size:1.08rem;letter-spacing:.08em;line-height:1.1}.brand small,.login-brand small{display:block;font-size:.72rem;letter-spacing:.13em;color:#b9cbd5;margin-top:5px}.primary-nav{display:flex;align-items:center;gap:4px;align-self:stretch}.primary-nav a{display:flex;align-items:center;color:#c8d6de;padding:0 16px;position:relative;font-size:.91rem;white-space:nowrap}.primary-nav a:hover,.primary-nav a.active{color:#fff;text-decoration:none}.primary-nav a.active:after{content:"";height:3px;background:var(--gold);position:absolute;bottom:0;left:16px;right:16px}.account{margin-left:auto;display:flex;align-items:center;gap:14px;color:#d4e0e5;font-size:.89rem;white-space:nowrap}.account form{margin:0}.quiet-link{border:0;background:none;color:inherit;padding:6px 0;font-size:.88rem}.quiet-link:hover{text-decoration:underline}
.shell{max-width:1380px;margin:auto;padding:38px 34px 58px;min-height:calc(100vh - 146px)}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.page-heading .subline{color:var(--muted);font-size:.98rem;margin-bottom:0}.eyebrow{color:#a67f42;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:800;margin-bottom:7px}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 18px;border-radius:7px;font-weight:700;font-size:.9rem;border:1px solid transparent;white-space:nowrap;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{text-decoration:none;transform:translateY(-1px)}.button:disabled{opacity:.48;cursor:not-allowed;transform:none}.button.primary{color:#fff;background:var(--navy);border-color:var(--navy)}.button.primary:hover{background:var(--navy2);box-shadow:0 6px 18px rgba(16,44,67,.18)}.button.secondary{color:var(--navy);background:#e8eef1;border-color:#e0e8ec}.button.outline{color:var(--navy);background:#fff;border-color:#bfd0d8}.button.wide{width:100%}
.filter-bar,.compact-switch{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:18px;display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filter-bar label,.compact-switch label{display:flex;flex-direction:column;gap:6px;color:#526b79;font-size:.84rem;font-weight:700}.filter-bar input,.filter-bar select,.compact-switch select{min-width:194px}.compact-switch{width:max-content;max-width:100%}.compact-switch select{min-width:250px}.filter-bar .button{margin-top:0}
input,select{border:1px solid #cbd9df;background:#fff;border-radius:7px;color:var(--ink);min-height:43px;padding:9px 12px;outline:none}input:focus,select:focus{border-color:#56829b;box-shadow:0 0 0 3px rgba(42,111,148,.13)}input::placeholder{color:#a2b0b8}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px 24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat-card:before{content:"";width:4px;position:absolute;inset:0 auto 0 0;background:var(--gold)}.stat-card>span{display:block;font-size:.88rem;color:var(--muted);font-weight:700}.stat-card strong{font-family:Georgia,"Times New Roman",serif;display:block;font-size:2.5rem;line-height:1.15;color:var(--navy);margin:8px 0 2px;letter-spacing:-.04em}.stat-card strong em{font-family:inherit;font-size:1.15rem;color:#9aabb5;font-weight:400;font-style:normal}.stat-card small{color:var(--muted)}.alert-card:before{background:var(--red)}.alert-card strong{color:var(--red)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 16px}.section-heading h2{margin-bottom:4px}.section-heading p{color:var(--muted);font-size:.87rem;margin:0}.date-tag{font-size:.83rem;font-weight:800;color:#47667b;letter-spacing:.04em;white-space:nowrap}.hotel-list{display:grid;gap:11px}.hotel-row{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 5px 20px rgba(16,44,67,.04)}.hotel-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,.65fr) minmax(170px,.7fr);gap:18px;align-items:center;padding:17px 24px}.hotel-identity{display:flex;align-items:center;gap:18px;min-width:0}.hotel-index{font-family:Georgia,serif;color:#bd9a6c;font-size:1.2rem;min-width:29px}.hotel-identity>div{min-width:0}.hotel-identity h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-identity p{font-size:.82rem;color:var(--muted);margin:0}.hotel-price small,.hotel-status small{display:block;color:var(--muted);font-size:.78rem}.hotel-price strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.75rem;line-height:1.1;color:var(--navy);margin-top:5px}.hotel-price strong.missing{font-family:inherit;font-size:1rem;color:#8da1aa;font-weight:600}.hotel-status{text-align:right}.hotel-status small{margin-top:7px}.pill{display:inline-block;border-radius:99px;font-size:.76rem;font-weight:800;padding:4px 10px;white-space:nowrap}.pill.danger{background:#fbeae6;color:var(--red)}.pill.normal{background:#e6f3ee;color:var(--green)}.pill.muted{background:#ecf0f2;color:#78909b}.room-details{border-top:1px solid #eef2f3}.room-details summary{padding:11px 24px;color:#4b6a7c;font-size:.85rem;cursor:pointer;font-weight:700;list-style:none}.room-details summary::-webkit-details-marker{display:none}.room-details summary:before{content:"+";display:inline-block;margin-right:9px;font-size:1.1rem}.room-details[open] summary:before{content:"−"}.room-details summary span{color:#95a8b2;margin-left:3px;font-weight:500}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.86rem}th,td{text-align:left;padding:11px 24px;border-top:1px solid #edf1f2;white-space:nowrap}th{color:#718793;background:#f9fbfb;font-size:.78rem;letter-spacing:.03em}td{color:#334e5e}.status-text{font-weight:700}.status-text.red{color:var(--red)}.status-text.green{color:var(--green)}.details-empty{margin:0;padding:22px 24px;color:#758b96;font-size:.9rem}
.export-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#e9f0f3;border:1px solid #d7e4e9;border-radius:10px;padding:22px 24px;margin-top:28px}.export-panel h2{font-size:1.06rem}.export-panel p{color:#627e8e;font-size:.84rem;margin:0}.export-panel form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.export-panel label{display:flex;flex-direction:column;gap:5px;color:#526b79;font-size:.77rem;font-weight:700}.export-panel input{min-width:148px}.empty-state{text-align:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:50px 20px;box-shadow:var(--shadow)}.empty-state h2{font-size:1.35rem}.empty-state p{color:var(--muted);max-width:550px;margin:0 auto 24px}.empty-state.inline{border:0;box-shadow:none;padding:35px 0}.empty-icon{width:58px;height:58px;border:1px solid var(--gold2);color:#a68553;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;font-family:Georgia,serif;font-size:1.3rem}
.two-column{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.82fr);gap:20px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:24px}.panel-head{padding-bottom:18px;border-bottom:1px solid #e6edef;margin-bottom:18px}.panel-head p{font-size:.86rem;color:var(--muted);margin:0}.watch-list,.account-list{display:grid}.watch-item{display:flex;align-items:center;gap:16px;padding:14px 2px;border-bottom:1px solid #edf1f2}.watch-item:last-child{border-bottom:0}.watch-number{font-family:Georgia,serif;color:#bf9b6d}.watch-item>div{flex:1;min-width:0}.watch-item strong,.watch-item small{display:block}.watch-item strong{font-size:.94rem}.watch-item small{color:var(--muted);margin-top:3px}.watch-item form{margin-left:auto}.danger-link{color:var(--red)}.stack-form{display:grid;gap:17px}.stack-form label,.account-item label{display:grid;gap:6px;color:#526b79;font-size:.84rem;font-weight:700}.stack-form label span{color:#a0abb2;font-size:.75rem;font-weight:500}.stack-form input,.stack-form select{width:100%}.stack-form .button{justify-self:start}.form-panel{max-width:780px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-tip{padding:13px 15px;border-left:3px solid var(--gold);background:#f9f6ef;color:#6c665c;font-size:.85rem;line-height:1.65}.field-note{font-size:.8rem;color:var(--muted);margin:-4px 0 0}.file-select{padding:26px;border:1.5px dashed #a8beca;border-radius:8px;background:#f7fafb}.file-select input{border:0;padding:8px 0;background:none}.rules-panel ol{padding-left:22px;color:#465e6b;font-size:.9rem}.rules-panel li{margin-bottom:12px}.account-item{padding:14px 0;border-bottom:1px solid #e9eef0}.account-item:last-child{border-bottom:0}.account-item summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;color:#68808d;font-size:.82rem}.account-item summary::-webkit-details-marker{display:none}.account-item summary strong,.account-item summary small{display:block}.account-item summary strong{color:var(--ink);font-size:.96rem}.account-item summary small{color:var(--muted);margin-top:3px}.account-item form{padding:17px 0 2px;display:flex;gap:10px;align-items:end}.account-item label{flex:1}
.flash-stack{margin-bottom:16px}.flash{padding:11px 15px;border-radius:7px;margin-bottom:8px;font-size:.88rem;background:#e7f3ee;color:#2c715e;border:1px solid #bee1d1}.flash.error{background:#fff0ed;color:#a54d3d;border-color:#ebc9c3}.site-footer{max-width:1380px;margin:auto;padding:0 34px 28px;color:#8ca0ab;font-size:.75rem}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 75% 35%,#285271 0%,transparent 35%),linear-gradient(140deg,#102c43,#0b2033)}.login-panel{background:#fff;width:min(100%,480px);border-radius:12px;padding:46px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.login-brand{color:var(--navy);margin-bottom:36px}.login-brand small{color:#6f8793}.login-panel h1{font-family:"Songti SC","SimSun",serif;font-size:2.1rem;line-height:1.32;font-weight:700}.login-panel>p{color:var(--muted);font-size:.93rem;margin-bottom:27px}.login-form{display:grid;gap:18px}.login-form label{display:grid;gap:7px;color:#506a79;font-size:.86rem;font-weight:700}.login-form input{width:100%}.login-note{font-size:.77rem;color:#91a2aa;text-align:center;margin-top:20px}
@media(max-width:1050px){.topbar-inner{gap:18px;flex-wrap:wrap;padding-top:12px}.primary-nav{order:3;width:100%;overflow:auto;height:44px}.primary-nav a{padding:0 12px}.primary-nav a.active:after{left:12px;right:12px}.account{margin-left:auto}.hotel-main{grid-template-columns:minmax(0,1.25fr) minmax(110px,.5fr) minmax(150px,.55fr)}.two-column{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.shell{padding:24px 16px 40px}.topbar-inner{padding:12px 16px 0}.page-heading{align-items:start;flex-direction:column;margin-bottom:22px}.heading-actions{width:100%}.heading-actions .button{flex:1}.stats-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stat-card{padding:14px 12px}.stat-card strong{font-size:1.9rem}.stat-card strong em{font-size:.86rem}.section-heading{align-items:start;flex-direction:column}.hotel-main{grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:16px}.hotel-identity{grid-column:1/-1;gap:12px}.hotel-status{text-align:right}.hotel-status small{max-width:170px}.room-details summary{padding:11px 16px}.two-column{grid-template-columns:1fr}.export-panel{display:block}.export-panel form{margin-top:15px}.export-panel input{min-width:120px}.form-grid{grid-template-columns:1fr}.site-footer{padding:0 16px 20px}.login-panel{padding:30px}}
@media(max-width:420px){.account>span{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid .stat-card:last-child{grid-column:1/-1}.filter-bar label,.filter-bar input,.filter-bar select{width:100%}.filter-bar .button{width:100%}.hotel-price strong{font-size:1.45rem}.export-panel form label{width:calc(50% - 5px)}.export-panel input{width:100%}.export-panel form .button{width:100%}.login-shell{padding:16px}}
.data-caveat{display:flex;align-items:center;gap:13px;padding:12px 16px;margin:0 0 22px;border:1px solid #eadbbf;background:#fbf8f0;border-radius:8px;color:#756344;font-size:.86rem}.data-caveat strong{white-space:nowrap;color:#8e6c32}.data-caveat span{line-height:1.5}
.own-spotlight{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(120deg,#14364f,#214e6a);border-radius:11px;color:#fff;padding:25px 30px;margin:0 0 17px;box-shadow:0 10px 30px rgba(16,44,67,.12)}.spot-label{display:block;color:#d4b777;font-size:.76rem;letter-spacing:.14em;font-weight:800;margin-bottom:7px}.own-spotlight h2{font-family:"Songti SC","SimSun",serif;font-size:1.65rem;margin-bottom:5px}.own-spotlight p{color:#c8d9e2;font-size:.86rem;margin:0 0 4px}.own-spotlight a{color:#e7c88f;font-size:.84rem}.spot-price{text-align:right;min-width:150px}.spot-price span{display:block;color:#b8d1df;font-size:.84rem}.spot-price strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2.6rem;line-height:1.15;letter-spacing:-.05em;margin-top:4px}.spot-price .spot-missing{font-family:inherit;font-size:1.1rem;letter-spacing:0;color:#e3d5b7}.compare-stats{margin-bottom:28px}.compare-stats .stat-empty{font-size:2.3rem}
.comparison-panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:auto}.comparison-table{font-size:.88rem}.comparison-table th{padding:15px 19px;white-space:nowrap;background:#f7fafb;color:#5c7583}.comparison-table td{padding:17px 19px;white-space:nowrap}.comparison-table tbody tr:hover{background:#fafcfc}.compare-name{min-width:260px}.compare-name strong,.compare-name small{display:block}.compare-name strong{font-size:.94rem;white-space:normal;line-height:1.45}.compare-name small{color:#94a7b1;font-size:.75rem;margin-top:3px}.table-price{font-family:Georgia,"Times New Roman",serif;font-size:1.34rem;font-weight:700;color:var(--navy)}.table-missing{color:#94a7b1}.delta{font-family:Georgia,"Times New Roman",serif;font-size:1.13rem;font-weight:700}.delta.positive{color:var(--green)}.delta.negative{color:var(--red)}.capture-time{font-size:.82rem;color:#58707e}.capture-time small{display:block;color:#99aab2;margin-top:3px}.compare-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:17px;color:#8095a1;font-size:.78rem}.compare-bottom p{margin:0}.compare-bottom a{white-space:nowrap}
.setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.setup-grid .panel{min-width:0}.setup-grid .panel-head{margin-bottom:20px}.step-label{font-size:.74rem;font-weight:800;letter-spacing:.11em;color:#a1814b;margin:0 0 7px}.count-accent{font-family:Georgia,serif;font-size:1rem;color:#a1814b;margin-left:7px}.identity-card{display:grid;gap:3px;padding:17px 18px;border-left:4px solid var(--gold);background:#f8f8f5;margin-bottom:20px}.identity-card strong{font-size:1.02rem;line-height:1.4}.identity-card span{font-size:.78rem;color:#7b8d96}.identity-card a{font-size:.8rem;justify-self:start}.setup-grid .stack-form label.check-line{display:flex;align-items:flex-start;gap:9px;color:#536c79;font-size:.84rem;font-weight:500;line-height:1.5}.check-line input{width:17px;height:17px;min-height:0;flex:none;margin:3px 0 0;accent-color:var(--navy)}.setup-grid .stack-form label.check-line span{font-size:.84rem;color:#536c79;font-weight:500}.rival-form{padding-top:22px;margin-top:10px;border-top:1px solid var(--line)}.identity-note{color:#8497a1;font-size:.81rem;line-height:1.65;margin-top:18px}
.setup-progress{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 23px;margin:0 0 20px;border:1px solid #d8e6e7;border-left:4px solid var(--gold);border-radius:10px;background:#f8fbfa}.setup-progress strong{display:block;color:var(--navy);font-size:1.05rem}.setup-progress p{margin:4px 0 0;color:#617987;font-size:.85rem;line-height:1.6}.setup-progress .button{flex:none}
@media(max-width:650px){.setup-progress{align-items:flex-start;flex-direction:column}.setup-progress .button{width:100%}}
@media(max-width:800px){.setup-grid{grid-template-columns:1fr}.own-spotlight{padding:21px 22px}.data-caveat{align-items:flex-start}.compare-bottom{display:block}.compare-bottom a{display:inline-block;margin-top:8px}}
@media(max-width:460px){.own-spotlight{align-items:flex-start;flex-direction:column;gap:14px}.spot-price{text-align:left}.comparison-table th,.comparison-table td{padding-left:14px;padding-right:14px}.data-caveat{display:block}.data-caveat strong{display:block;margin-bottom:3px}}
.check-panel{display:flex;justify-content:space-between;align-items:center;gap:26px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:20px 24px;margin:0 0 20px;box-shadow:var(--shadow)}.check-panel h2{font-size:1.18rem}.check-panel p{color:#657e8c;font-size:.86rem;margin:0}.check-panel small{display:block;color:var(--red);margin-top:8px}.check-panel form{flex:none}.check-panel .button{flex:none}
.spot-price small{display:block;color:#b8d1df;font-size:.73rem;margin-top:3px}
.check-form{display:grid;gap:12px}.check-row{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(175px,.7fr) minmax(350px,1.5fr);gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px 22px;box-shadow:0 5px 20px rgba(16,44,67,.04)}.check-identity{display:flex;gap:14px;align-items:flex-start}.check-identity h2{font-size:1.03rem;margin:7px 0 4px;line-height:1.45}.check-identity small,.check-action small{display:block;color:#8ca0ab;font-size:.75rem}.check-action small{margin-top:7px}.check-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.check-fields label{display:grid;gap:4px;color:#526b79;font-size:.78rem;font-weight:700}.check-fields input,.check-fields select{width:100%}.check-fields .check-confirm{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:.76rem;font-weight:500}.check-confirm input{width:16px;height:16px;min-height:0;accent-color:var(--navy)}.check-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 23px;background:#e9f0f3;border-radius:10px}.check-submit p{margin:0;color:#5e7684;font-size:.83rem;max-width:820px}
@media(max-width:1100px){.check-row{grid-template-columns:1fr 1fr}.check-fields{grid-column:1/-1}}
@media(max-width:700px){.check-panel,.check-submit{align-items:flex-start;flex-direction:column}.check-panel form,.check-panel .button,.check-submit .button{width:100%}.check-row{grid-template-columns:1fr}.check-fields{grid-column:auto}.check-action small{margin-top:4px}}
.room-watch{grid-column:1/-1;border-top:1px solid #edf1f2;padding-top:13px}.room-watch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.room-watch-head strong{font-size:.85rem}.room-watch-head small{color:#91a1a9;font-size:.73rem;font-weight:400}.room-watch-head button{color:#17617c}.room-list{display:grid;gap:7px}.room-entry{display:grid;grid-template-columns:minmax(160px,2fr) minmax(105px,1fr) minmax(105px,1fr) 30px;gap:8px;align-items:center}.room-entry input,.room-entry select{min-width:0;min-height:38px;padding:7px 9px;font-size:.8rem}.room-remove{background:#f0f4f5;border:0;border-radius:6px;height:31px;color:#67808d;font-size:1.2rem}
.room-watch summary{cursor:pointer;list-style:none;color:#496979;font-size:.81rem;font-weight:700}.room-watch summary::-webkit-details-marker{display:none}.room-watch summary:before{content:'＋';margin-right:6px}.room-watch[open] summary:before{content:'－'}.room-watch summary small{color:#95a5ad;font-weight:400;margin-left:7px}.room-watch-head{padding-top:13px}.room-watch-head span{font-size:.75rem;color:#8a9da6}
.alerts-section{margin:4px 0 30px}.alerts-list{display:grid;gap:9px}.alert-item{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #e8dddd;border-radius:9px;padding:13px 17px;box-shadow:0 4px 16px rgba(16,44,67,.035)}.alert-item.alert-read{border-color:var(--line);opacity:.72}.alert-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;flex:none;font-size:1.25rem;font-weight:800}.alert-up{background:#f9e9e5;color:var(--red)}.alert-down{background:#e5f1ed;color:var(--green)}.alert-copy{flex:1;min-width:0}.alert-copy>div{display:flex;align-items:center;gap:7px;font-size:.77rem;color:#647b87}.alert-copy h3{font-size:.93rem;margin:3px 0}.alert-copy p{font-size:.82rem;color:#29475a;margin:0}.alert-copy p span{color:#91a2aa}.alert-item form{margin-left:auto}.alert-item form .quiet-link{color:#17617c}.alerts-empty{background:#fff;border:1px dashed #d5e0e4;border-radius:9px;padding:19px;color:#8496a0;font-size:.85rem}
.match-list{display:grid;gap:12px}.match-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(380px,1.4fr);gap:28px;align-items:center}.match-card h2{margin:8px 0 3px;font-size:1.12rem}.match-card p{color:#8799a3;font-size:.8rem;margin:0}.match-form{display:grid;grid-template-columns:1fr auto;gap:9px 13px;align-items:end}.match-form>label:first-child{grid-column:1/-1;display:grid;gap:5px;font-size:.81rem;color:#59717d;font-weight:700}.match-confirm{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#5d7580}.match-confirm input{min-height:0;width:17px;height:17px;accent-color:var(--navy)}
@media(max-width:850px){.match-card{grid-template-columns:1fr}.room-entry{grid-template-columns:1fr 115px}.room-entry input:nth-of-type(2){grid-column:1}.room-remove{grid-column:2;grid-row:2}}
@media(max-width:520px){.alert-item{align-items:flex-start}.alert-item form{align-self:flex-start}.room-entry{grid-template-columns:1fr 1fr}.room-entry input:first-child{grid-column:1/-1}.room-entry input:nth-of-type(2){grid-column:1;grid-row:auto}.room-remove{grid-column:2;grid-row:auto}.match-form{grid-template-columns:1fr}.match-form>label:first-child{grid-column:auto}.match-form .button{width:100%}}

/* Account security */
.account>a.quiet-link{color:inherit;padding:6px 0;font-size:.88rem}
.password-page{min-height:calc(100vh - 205px);display:grid;place-items:center;padding:18px 0 52px}
.password-card{width:min(100%,540px);position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;padding:42px 46px;box-shadow:0 18px 52px rgba(25,57,101,.1)}
.password-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#2662c7,#78a3ec)}
.password-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#edf4ff;color:#2d65c0;font-size:.72rem;font-weight:800;letter-spacing:.05em;margin-bottom:26px}
.password-card h1{font-size:2rem;margin-bottom:12px}
.password-copy{color:var(--muted);margin-bottom:26px;line-height:1.75}
.password-form{gap:16px}.password-rule{margin:-2px 0 3px;color:#75879c;font-size:.8rem;line-height:1.65}
.account-reset{padding:17px 0 2px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.account-reset p{margin:0;color:#6e7f92;font-size:.82rem}.account-reset form{padding:0;display:block;flex:none}
@media(max-width:620px){.password-card{padding:32px 24px}.account-reset{align-items:flex-start;flex-direction:column}.account-reset form,.account-reset .button{width:100%}}

/* 清爽的经营后台视觉层：先看日期和结果，再看详细记录。 */
:root{--navy:#173e75;--navy2:#2454a2;--ink:#233247;--muted:#718097;--line:#e3e9f1;--surface:#fff;--bg:#f5f7fb;--gold:#4f81dd;--gold2:#cbdcf8;--red:#c4504c;--green:#26836a;--shadow:0 6px 24px rgba(26,56,104,.045)}
body{background:var(--bg)}
h1,h2,h3{letter-spacing:-.02em}
h1{font-size:clamp(1.8rem,2.35vw,2.25rem);font-weight:760}
h2{font-size:1.2rem}
.topbar{background:#fff;color:var(--ink);box-shadow:none;border-bottom:1px solid var(--line)}
.topbar-inner{max-width:1440px;min-height:68px;gap:36px}
.brand{color:#183f78;border-left:0;padding-left:0}
.brand strong{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:1.06rem;letter-spacing:.035em;font-weight:800}
.brand small{color:#8293aa;letter-spacing:.08em;font-size:.68rem}
.primary-nav{gap:7px}
.primary-nav>a,.admin-nav>summary{color:#63748b;font-size:.89rem;font-weight:650;padding:0 17px}
.primary-nav>a:hover,.primary-nav>a.active,.admin-nav>summary:hover{color:#2457aa}
.primary-nav>a.active:after{background:#3069ce;left:17px;right:17px;height:3px}
.account{color:#62748e}.account .quiet-link{color:#728299}
.admin-nav{height:100%;position:relative}
.admin-nav>summary{height:100%;display:flex;align-items:center;list-style:none;cursor:pointer}
.admin-nav>summary::-webkit-details-marker{display:none}
.admin-nav>summary:after{content:"⌄";font-size:.85rem;margin-left:7px}
.admin-nav-menu{position:absolute;top:calc(100% - 2px);left:0;width:175px;z-index:10;background:#fff;border:1px solid var(--line);border-radius:0 0 11px 11px;box-shadow:0 15px 30px rgba(24,51,90,.14);padding:7px}
.admin-nav-menu a{display:block;height:auto;padding:10px 12px;border-radius:6px;color:#3d526f;font-size:.86rem}
.admin-nav-menu a:hover{background:#f0f5ff;color:#2457aa}
.shell{max-width:1440px;padding-top:31px}
.eyebrow{color:#547fbd;letter-spacing:.1em;font-size:.73rem;margin-bottom:5px}
.page-heading{margin-bottom:22px}
.page-heading .subline{font-size:.89rem}
.button{border-radius:6px;min-height:40px;padding:8px 15px;font-weight:650;transition:background .16s,box-shadow .16s}
.button:hover{transform:none}
.button.primary{background:#2662c7;border-color:#2662c7}
.button.primary:hover{background:#1e55b3;box-shadow:0 5px 14px rgba(33,91,191,.18)}
.button.secondary{background:#f2f5fa;color:#335174;border-color:#e4e9f2}
.button.outline{border-color:#cbd7e9;color:#2356aa;background:#fff}
.button.outline:hover{background:#f7faff}
input,select{border-color:#d2dce8;border-radius:6px;min-height:40px}
input:focus,select:focus{border-color:#4781e0;box-shadow:0 0 0 3px rgba(61,118,216,.12)}
.panel,.comparison-panel,.filter-bar,.compact-switch,.stat-card,.check-row{border-radius:9px;box-shadow:var(--shadow)}
.text-action{color:#2860ba;font-size:.86rem;font-weight:700;white-space:nowrap}
.dashboard-heading{align-items:end}
.compare-toolbar{display:flex;align-items:end;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px 20px;margin-bottom:17px;box-shadow:var(--shadow)}
.compare-toolbar label{display:grid;gap:5px;color:#607087;font-size:.78rem;font-weight:700}
.toolbar-dates{display:grid;gap:6px}
.date-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.live-clock{color:#5075a6;font-size:.78rem;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.toolbar-label{color:#607087;font-size:.78rem;font-weight:700}
.date-picks{display:flex;gap:7px;align-items:center}
.date-pick{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;color:#526983;border:1px solid #d6e0ed;background:#fff;border-radius:6px;font-size:.86rem;font-weight:650}
.date-pick:hover{text-decoration:none;background:#f4f8ff}
.date-pick.active{color:#2259b8;border-color:#8fb3ef;background:#eef5ff}
.calendar-picker{position:relative}
.calendar-trigger{display:flex;align-items:center;gap:10px;min-width:236px;height:46px;padding:0 13px;border:1px solid #cdd9e9;border-radius:7px;background:#fff;color:#2f4666;font:inherit;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(28,61,108,.035)}
.calendar-trigger:hover,.calendar-trigger[aria-expanded="true"]{border-color:#6593d9;background:#f8fbff;box-shadow:0 0 0 3px rgba(61,118,216,.1)}
.calendar-icon{position:relative;width:20px;height:19px;flex:none;border:1.7px solid #3f70bb;border-radius:4px}
.calendar-icon:before{content:"";position:absolute;left:2px;right:2px;top:5px;border-top:1.5px solid #3f70bb}
.calendar-icon:after{content:"";position:absolute;left:4px;top:-3px;width:8px;height:4px;border-left:1.7px solid #3f70bb;border-right:1.7px solid #3f70bb}
.calendar-trigger-copy{display:grid;gap:1px;flex:1;min-width:0}
.calendar-trigger-copy small{color:#8392a6;font-size:.67rem;line-height:1.1}
.calendar-trigger-copy strong{color:#304867;font-size:.85rem;line-height:1.35;white-space:nowrap;font-variant-numeric:tabular-nums}
.calendar-chevron{color:#7890ad;font-size:1rem}
.calendar-popover[hidden]{display:none}
.calendar-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:322px;padding:15px;background:#fff;border:1px solid #d8e2ef;border-radius:12px;box-shadow:0 20px 48px rgba(27,55,95,.2)}
.calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:12px}
.calendar-head strong{text-align:center;color:#29476e;font-size:.94rem;font-variant-numeric:tabular-nums}
.calendar-head button{width:34px;height:34px;border:0;border-radius:7px;background:#f2f6fc;color:#42699f;font-size:1.35rem;cursor:pointer}
.calendar-head button:hover{background:#e7f0fd}
.calendar-head button:disabled{opacity:.3;cursor:not-allowed}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.calendar-weekdays{margin-bottom:5px;color:#9aa7b7;font-size:.69rem;text-align:center}
.calendar-weekdays span{padding:5px 0}
.calendar-grid button,.calendar-spacer{height:36px}
.calendar-grid button{border:0;border-radius:7px;background:transparent;color:#42566f;font:inherit;font-size:.81rem;cursor:pointer;font-variant-numeric:tabular-nums}
.calendar-grid button:hover{background:#eef5ff;color:#245bb4}
.calendar-grid button.today{box-shadow:inset 0 0 0 1px #9bbbe8;color:#245bb4;font-weight:750}
.calendar-grid button.selected{background:#2b66c4;color:#fff;font-weight:800;box-shadow:0 4px 10px rgba(43,102,196,.23)}
.calendar-grid button:disabled{color:#c7d0dc;background:transparent;cursor:not-allowed;box-shadow:none}
.calendar-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:11px;border-top:1px solid #edf1f6;color:#98a6b7;font-size:.69rem}
.calendar-foot div{display:flex;gap:6px}
.calendar-foot button{border:0;border-radius:5px;padding:5px 9px;background:#eef4fd;color:#3466ad;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}
.calendar-foot button:hover{background:#e1ecfc}
.toolbar-view{min-width:70px}
.stay-rule{color:#8291a5;font-size:.79rem;margin-bottom:10px}
.toolbar-export{margin-left:auto}
.ctrip-login-step,.login-priority{display:flex;align-items:center;gap:15px;background:#fffaf0;border:1px solid #e9d9b9;border-radius:10px;padding:15px 19px;margin-bottom:16px}
.login-step-number,.login-priority-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:8px;color:#876727;background:#f8ebce;font-weight:800}
.ctrip-login-step>div:nth-child(2),.login-priority>div:nth-child(2){flex:1;min-width:0}
.ctrip-login-step strong,.login-priority h2{display:block;color:#584b32;font-size:.96rem;margin:0 0 4px}
.ctrip-login-step p,.login-priority p{margin:0;color:#80715c;font-size:.79rem;line-height:1.55}
.ctrip-login-step .button,.login-priority .button{border-color:#d8bd8d;color:#715624;white-space:nowrap}
.login-priority{flex-wrap:wrap}
.login-priority form{margin-left:auto}
.login-failed,.page-failure .quiet-link{color:#a65346}
.stop-check{border-color:#e5bcb4!important;color:#a94f43!important}
.last-check-result{display:flex;align-items:center;gap:11px;padding:11px 17px;margin:-9px 0 20px;border-radius:8px;border:1px solid #d6eadd;background:#f3fbf6;color:#276c4c;font-size:.81rem}
.last-check-result span{color:#547460}
.last-check-result.is-failed{border-color:#edccc5;background:#fff6f3;color:#aa5042}
.last-check-result.is-failed span{color:#a56f66}
.last-check-result.is-stopped{border-color:#d8e0ea;background:#f5f7fa;color:#607087}
.last-check-result.is-stopped span{color:#748397}
.page-failure{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 4px;color:#8090a1;font-size:.78rem}
.price-overview{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}
.overview-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:19px 23px;border-bottom:1px solid var(--line)}
.overview-head h2{font-size:1.1rem;margin:2px 0 3px;line-height:1.42}
.overview-head p{font-size:.8rem;color:#8190a3;margin:0}
.overview-head>a{font-size:.8rem;color:#356abf;white-space:nowrap}
.overview-kicker{color:#4c70a3;font-size:.72rem;font-weight:800;letter-spacing:.06em}
.overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.overview-metric{padding:19px 24px 21px;border-right:1px solid var(--line)}
.overview-metric:last-child{border-right:0}
.overview-metric>span{display:block;color:#74849a;font-size:.81rem;font-weight:650}
.overview-metric strong{display:block;font-size:2.05rem;line-height:1.23;margin:6px 0 3px;color:#273d60;font-weight:770;font-variant-numeric:tabular-nums;letter-spacing:-.045em}
.overview-metric.main strong{color:#2459b3}
.overview-metric strong.metric-higher{color:#bf594f}
.overview-metric strong.metric-lower{color:#238267}
.overview-metric strong.metric-missing{font-size:1.38rem;color:#91a0b1;letter-spacing:0;margin-top:11px}
.overview-metric small{color:#9aa7b6;font-size:.75rem}
.next-action{display:flex;align-items:center;gap:16px;background:#edf4ff;border:1px solid #cfdef5;border-radius:9px;padding:14px 19px;margin-bottom:22px}
.action-symbol{display:grid;place-items:center;width:34px;height:34px;flex:none;background:#d9e8ff;color:#2661bf;border-radius:8px;font-size:1.15rem;font-weight:800}
.action-copy{flex:1;min-width:0}.action-copy h2{font-size:.97rem;margin-bottom:2px;color:#234677}.action-copy p{margin:0;color:#5e7798;font-size:.79rem}.action-copy small{display:block;color:#ad5a51;font-size:.76rem;margin-top:5px}
.next-action form,.next-action .button{flex:none}
.price-chart-panel{margin-bottom:25px;padding:22px 24px 14px}
.price-chart-panel .section-heading{margin-bottom:9px}
.price-bars{display:grid}
.price-bar-row{display:grid;grid-template-columns:minmax(200px,290px) minmax(80px,1fr) 82px;gap:17px;align-items:center;padding:14px 0;border-bottom:1px solid #eef1f6}
.price-bar-row:last-child{border-bottom:0}
.price-bar-name{min-width:0}
.price-bar-name strong{display:block;font-size:.87rem;line-height:1.35;color:#354964;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-bar-name small{display:block;font-size:.72rem;color:#99a6b7;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-bar-row.own .price-bar-name strong{color:#2459b3;font-weight:800}
.price-track{height:16px;border-radius:4px;background:#f1f4f8;position:relative;overflow:hidden}
.price-fill{display:block;height:100%;min-width:3px;background:linear-gradient(90deg,#9fc0f1,#75a3e7);border-radius:4px}
.price-bar-row.own .price-fill{background:linear-gradient(90deg,#3976d2,#2257ac)}
.track-empty{position:absolute;left:8px;top:-2px;color:#a4b1c0;font-size:.67rem}
.price-bar-value{text-align:right;font-size:1.13rem;color:#334c72;font-weight:800;font-variant-numeric:tabular-nums}
.price-bar-row.own .price-bar-value{color:#2459b3}
.chart-empty{padding:34px 10px;text-align:center;color:#8998a9;font-size:.86rem}
.alerts-section{margin:0 0 25px}
.alerts-section .section-heading{margin-bottom:12px}
.alert-item{box-shadow:none;border-color:#e3e9f1;border-radius:8px}
.alert-item:not(.alert-read){border-left:3px solid #ec836e}
.alert-mark{width:32px;height:32px;border-radius:8px}
.alert-copy p span{color:#9ba8b6}
.more-alerts{margin-top:10px}
.more-alerts summary{cursor:pointer;color:#366abc;font-size:.83rem;font-weight:700;padding:10px 4px}
.more-alerts .alerts-list{padding-top:4px}
.other-alerts{display:block;margin:-2px 0 11px;padding:9px 12px;border:1px solid #d8e5f7;border-radius:7px;background:#eef5ff;color:#2c61af;font-size:.8rem;font-weight:700}
.other-alerts:hover{text-decoration:none;background:#e6f0ff}
.detail-section{margin-bottom:20px}
.comparison-table th{font-size:.77rem;background:#f8faff;color:#687d99;padding:13px 18px}
.comparison-table td{padding:14px 18px}
.compare-name{min-width:255px}
.compare-name small{color:#af7d61}
.table-price,.delta{font-family:inherit;font-size:1rem;font-weight:750;font-variant-numeric:tabular-nums}
.capture-time small{font-size:.71rem}
.price-note{font-size:.76rem;color:#8a98a9;margin:11px 0 0}
.site-footer{font-size:.73rem;color:#a0aaba}
.check-guide{background:#f0f5ff;border-color:#d6e4f9;color:#526e98}
.check-guide strong{color:#3467af}
.check-row:has(.pill.normal){border-left:3px solid #4e80d1}
.check-identity h2{font-weight:700}
.check-submit{background:#edf4ff}
.check-submit p{color:#647b9a}
.step-label{color:#4a76b9;letter-spacing:.06em}
.count-accent{color:#3469bd;font-family:inherit;font-weight:700}
.identity-card{border-left-color:#4f81dd;background:#f4f8ff}
.setup-progress{border-color:#d9e5f6;border-left-color:#4f81dd;background:#f2f7ff}
.watch-number{color:#8ea6ca;font-family:inherit;font-size:.82rem;font-weight:800}
@media(max-width:900px){.price-bar-row{grid-template-columns:minmax(150px,240px) 1fr 70px}.stay-rule{order:4;flex-basis:100%;margin:0}.toolbar-export{margin-left:auto}}
@media(max-width:760px){.topbar-inner{padding-top:10px}.admin-nav{height:44px}.admin-nav>summary{height:44px}.compare-toolbar{padding:14px}.overview-metrics{grid-template-columns:1fr 1fr}.overview-metric:nth-child(2){border-right:0}.overview-metric:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.next-action{flex-wrap:wrap}.next-action form,.next-action .button{width:100%}.price-bar-row{grid-template-columns:minmax(135px,42%) 1fr 58px;gap:9px}.price-bar-value{font-size:.95rem}.price-chart-panel{padding:18px 16px 10px}}
@media(max-width:520px){.dashboard-heading .text-action{align-self:flex-end}.overview-head{align-items:flex-start;flex-direction:column;gap:5px;padding:17px}.overview-metric{padding:16px}.overview-metric strong{font-size:1.64rem}.compare-toolbar,.date-picks{width:100%}.date-picks{flex-wrap:wrap}.calendar-picker{width:100%}.calendar-trigger{width:100%}.calendar-popover{position:fixed;left:12px;right:12px;top:18%;width:auto}.toolbar-export{width:100%;margin-left:0}.toolbar-dates{width:100%}.stay-rule{order:0}.price-bar-row{grid-template-columns:1fr 66px;gap:4px;padding:11px 0}.price-bar-name{grid-column:1/-1}.price-track{grid-column:1}.price-bar-value{grid-column:2}.admin-nav-menu{left:auto;right:0}}

/* Each completed check is a distinct point on the same-stay-date price timeline. */
.trend-panel{padding:22px 24px 19px;margin-bottom:26px;overflow:hidden}
.trend-panel .section-heading{margin-bottom:6px}
.trend-summary{display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:#60748e;font-size:.8rem;margin-bottom:15px}
.trend-summary strong{font-size:1.02rem;color:#2459b3;margin-right:3px}
.trend-summary-note{margin-left:auto;color:#96a4b6;font-size:.75rem}
.trend-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.trend-legend-item{display:inline-flex;align-items:center;gap:7px;border:1px solid #dce5f1;background:#fff;border-radius:6px;min-height:34px;max-width:245px;padding:6px 10px;color:#445870;font:inherit;font-size:.76rem;cursor:pointer}
.trend-legend-item:hover{background:#f5f9ff;border-color:#bcd1ee}
.trend-legend-item[aria-pressed="false"]{opacity:.43}
.trend-swatch{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%}
.trend-legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trend-scroll{overflow-x:auto;overflow-y:hidden;border:1px solid #edf1f6;border-radius:8px;background:#fcfdff;scrollbar-color:#b8cbe6 transparent}
.trend-scroll svg{display:block;max-width:none;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.trend-grid{stroke:#e8eef5;stroke-width:1}
.trend-grid-vertical{stroke:#eef2f7;stroke-width:1;stroke-dasharray:3 5}
.trend-highlight{fill:#edf4ff;opacity:.65}
.trend-axis-price{fill:#8391a5;font-size:11px;font-variant-numeric:tabular-nums}
.trend-axis-date{fill:#5e718a;font-size:11px;font-weight:700}
.trend-axis-time{fill:#92a0b1;font-size:11px;font-variant-numeric:tabular-nums}
.trend-no-price{fill:#97a5b7;font-size:14px}
.trend-point{cursor:pointer;transition:r .12s ease}
.trend-point:hover,.trend-point:focus{r:8;outline:none}
.trend-run-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 0 4px}
.trend-run{min-width:98px;border:1px solid #dce6f3;border-radius:7px;background:#fff;padding:8px 12px;text-align:left;cursor:pointer;color:#596e88}
.trend-run strong,.trend-run span{display:block;white-space:nowrap}
.trend-run strong{font-size:.76rem;color:#3d638f}
.trend-run span{font-size:.72rem;margin-top:2px;font-variant-numeric:tabular-nums}
.trend-run.active{background:#edf4ff;border-color:#8cb4ed;box-shadow:inset 0 0 0 1px #bcd5f7}
.trend-selection{margin-top:14px;background:#f8faff;border:1px solid #e8eef8;border-radius:8px;padding:13px 16px}
.trend-selection-head{display:flex;align-items:center;gap:14px;margin-bottom:9px}
.trend-selection-head strong{font-size:.86rem;color:#234d91}
.trend-selection-head span{font-size:.72rem;color:#95a4b9}
.trend-selection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.trend-selection-row{display:grid;grid-template-columns:8px minmax(0,1fr) 75px 110px;align-items:center;gap:8px;min-height:36px;border-top:1px solid #edf1f7;font-size:.78rem;color:#50627b}
.trend-selection-row.own{font-weight:700;color:#2a518b}
.trend-selection-dot{height:8px;width:8px;border-radius:50%}
.trend-selection-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trend-selection-price{text-align:right;color:#344d6e;font-variant-numeric:tabular-nums}
.trend-selection-delta{text-align:right;color:#94a2b2;font-variant-numeric:tabular-nums;font-size:.72rem}
.trend-selection-delta.up{color:#c1564f}.trend-selection-delta.down{color:#198574}
.trend-footnote{margin:12px 0 0;color:#9aa7b7;font-size:.72rem;line-height:1.6}
@media(max-width:900px){.trend-selection-list{grid-template-columns:1fr}}
@media(max-width:620px){.trend-panel{padding:18px 15px}.trend-summary-note{flex-basis:100%;margin-left:0}.trend-selection-row{grid-template-columns:8px minmax(0,1fr) 65px 98px;gap:5px}.trend-selection{padding:10px 11px}}

/* 轻量等待反馈：打开/保存时显示，不暗示后台自动抓取携程价格。 */
.work-overlay[hidden]{display:none}
.work-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(23,42,73,.32);backdrop-filter:blur(3px)}
.work-dialog{width:min(100%,410px);padding:30px 31px 25px;background:#fff;border:1px solid #dfe8f5;border-radius:15px;box-shadow:0 25px 70px rgba(20,43,82,.2);text-align:center}
.work-dialog h2{font-size:1.2rem;color:#244a82;margin:17px 0 8px}
.work-dialog p{font-size:.87rem;line-height:1.65;color:#647894;margin:0}
.work-dialog small{display:block;margin-top:17px;font-size:.72rem;color:#9aa8bb}
.work-recovery[hidden]{display:none}
.work-recovery{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;border:0;background:transparent;color:#2b67ba;font:inherit;font-size:.79rem;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.work-recovery:hover{color:#174b91}
.work-spinner{display:block;width:43px;height:43px;margin:auto;border:4px solid #dce9fa;border-top-color:#2d6bc9;border-radius:50%;animation:work-spin .8s linear infinite}
.work-loader{height:5px;overflow:hidden;border-radius:6px;background:#e7effa;margin-top:24px}
.work-loader span{display:block;width:35%;height:100%;border-radius:6px;background:#4380d6;animation:work-sweep 1.4s ease-in-out infinite alternate}
.button.is-loading:before{content:"";display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:8px;vertical-align:-2px;animation:work-spin .8s linear infinite}
.button.primary.is-loading:disabled{opacity:.8;cursor:wait}
@keyframes work-spin{to{transform:rotate(360deg)}}
@keyframes work-sweep{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
.check-progress{display:flex;align-items:center;gap:15px;background:#f3f7ff;border:1px solid #d8e4f5;border-radius:9px;padding:15px 19px;margin-bottom:15px}
.check-progress-orbit{display:flex;align-items:center;justify-content:center;gap:4px;width:36px;height:36px;flex:none;border-radius:9px;background:#e0ecfc}
.check-progress-orbit i{width:5px;height:5px;border-radius:50%;background:#3875cf;animation:check-pulse 1.2s ease-in-out infinite}
.check-progress-orbit i:nth-child(2){animation-delay:.18s}
.check-progress-orbit i:nth-child(3){animation-delay:.36s}
.check-progress-copy{flex:1;min-width:0}
.check-progress-copy strong{display:block;color:#25528d;font-size:.88rem}
.check-progress-copy p{margin:3px 0 9px;color:#71849f;font-size:.77rem;line-height:1.5}
.check-progress-track{height:5px;border-radius:5px;background:#dce7f6;overflow:hidden}
.check-progress-track span{display:block;width:0;height:100%;background:#3676d1;border-radius:5px;transition:width .25s ease}
.check-progress.complete{background:#f0faf6;border-color:#cee9dd}
.check-progress.complete .check-progress-copy strong{color:#227d62}
.check-progress.complete .check-progress-orbit{background:#dcf3e8}
.check-progress.complete .check-progress-orbit i{background:#2a9873;animation:none}
.check-progress.complete .check-progress-track span{background:#2a9873}
@keyframes check-pulse{0%,70%,100%{opacity:.35;transform:scale(.75)}35%{opacity:1;transform:scale(1.25)}}
@media(max-width:600px){.work-dialog{padding:26px 22px}.check-progress{align-items:flex-start;padding:13px 14px}}
@media(prefers-reduced-motion:reduce){.work-spinner,.work-loader span,.button.is-loading:before,.check-progress-orbit i{animation:none}.check-progress-track span{transition:none}}
.test-mode-banner{display:flex;align-items:center;justify-content:center;gap:9px;min-height:39px;padding:7px 18px;background:#fff5df;border-bottom:1px solid #f0dba9;color:#84632a;font-size:.8rem;line-height:1.45}
.test-mode-banner strong{border-radius:4px;padding:2px 6px;background:#f8e5b8;color:#79561b;font-size:.73rem;white-space:nowrap}
@media(max-width:620px){.test-mode-banner{align-items:flex-start;justify-content:flex-start}}
@media(max-width:760px){.ctrip-login-step{flex-wrap:wrap}.ctrip-login-step>div:nth-child(2){flex-basis:calc(100% - 50px)}.ctrip-login-step .button{margin-left:49px}.login-priority .button,.login-priority form{margin-left:49px}.last-check-result{align-items:flex-start;flex-direction:column;gap:3px}}

/* 浏览器查价助手 */
.ctrip-login-step.assistant-ready{background:#f1faf7;border-color:#cce9df}.ctrip-login-step.assistant-ready .login-step-number{background:#d9f1e8;color:#19795e}
.ctrip-login-step.assistant-missing{background:#fff8eb;border-color:#efdcb3}.ctrip-login-step.assistant-missing .login-step-number{background:#f7e5bd;color:#805d1c}
.assistant-setup-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:18px;padding:28px 30px;border-radius:14px;background:linear-gradient(135deg,#173f75,#2865a9);color:#fff;box-shadow:0 18px 45px rgba(28,68,120,.16)}
.assistant-setup-hero h2{font-size:1.45rem;margin:9px 0 7px}.assistant-setup-hero p{max-width:710px;margin:0;color:#d8e8fb;line-height:1.7;font-size:.86rem}
.setup-badge{display:inline-flex;padding:4px 9px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:.7rem;letter-spacing:.04em}
.assistant-device-state{min-width:150px;padding:16px;border-radius:10px;background:rgba(255,255,255,.1);text-align:center}.assistant-device-state span{display:block;width:10px;height:10px;margin:0 auto 8px;border-radius:50%;background:#f0bc61;box-shadow:0 0 0 6px rgba(240,188,97,.14)}.assistant-device-state.online span{background:#5ee0b0;box-shadow:0 0 0 6px rgba(94,224,176,.14)}.assistant-device-state strong,.assistant-device-state small{display:block}.assistant-device-state small{margin-top:4px;color:#d7e5f7;font-size:.67rem}
.assistant-steps{display:grid;gap:12px}.assistant-step{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px 25px;background:#fff;border:1px solid #e1e9f4;border-radius:11px}.assistant-step>span{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#eaf2ff;color:#2865b4;font-weight:800}.assistant-step h2{font-size:1.04rem;color:#244a7d;margin:0 0 6px}.assistant-step p{margin:0 0 13px;color:#677b96;line-height:1.7;font-size:.82rem}.assistant-step code{padding:2px 6px;border-radius:4px;background:#eff3f8;color:#31577f;font-size:.76rem}.pair-code{margin:9px 0 7px;font-size:2.4rem;line-height:1;letter-spacing:.22em;font-variant-numeric:tabular-nums;font-weight:800;color:#1f5eaa}.assistant-step .pair-note{color:#238063;font-weight:700}
.connected-devices{margin-top:18px}.device-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid #edf1f7}.device-row strong,.device-row small{display:block}.device-row small{margin-top:3px;color:#8a9ab0;font-size:.7rem}.assistant-safety{margin:16px 0;padding:16px 19px;border-radius:9px;background:#fff8e9;border:1px solid #f0dfb8;color:#745b2c}.assistant-safety strong{font-size:.84rem}.assistant-safety p{margin:4px 0 0;font-size:.76rem;line-height:1.65}
.assistant-live{padding:25px;background:#fff;border:1px solid #dce6f3;border-radius:13px;box-shadow:0 12px 35px rgba(27,63,111,.08)}.assistant-live-head{display:flex;align-items:center;gap:17px}.assistant-live-head h2{margin:2px 0 4px;color:#244d82;font-size:1.22rem}.assistant-live-head p:last-child{margin:0;color:#73859d;font-size:.79rem}.assistant-pulse{width:19px;height:19px;flex:none;border-radius:50%;background:#3978cf;box-shadow:0 0 0 0 rgba(57,120,207,.35);animation:assistant-pulse 1.6s infinite}.assistant-progress{height:7px;margin:20px 0 14px;background:#e8eef7;border-radius:8px;overflow:hidden}.assistant-progress span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#3274cf,#33a084);transition:width .35s ease}.assistant-items{display:grid;gap:7px}.assistant-item{display:grid;grid-template-columns:38px 1fr 80px;align-items:center;gap:11px;padding:11px 13px;border:1px solid #e9eef5;border-radius:8px}.assistant-item strong,.assistant-item small{display:block}.assistant-item strong{color:#364e6e;font-size:.82rem}.assistant-item small{margin-top:2px;color:#8a99ad;font-size:.68rem}.assistant-item b{text-align:right;color:#2d5f9d}.assistant-item.done{background:#f3faf7;border-color:#d8ece4}.assistant-item.failed{background:#fff4f1;border-color:#efd5ce}.assistant-help{display:grid;grid-template-columns:auto 1fr auto;gap:10px;margin-top:16px;padding:13px 15px;border-radius:8px;background:#f7f9fc;color:#71829a;font-size:.74rem}.assistant-help strong{color:#3d5e87}.assistant-help a{color:#2869bd;font-weight:700}@keyframes assistant-pulse{70%{box-shadow:0 0 0 10px rgba(57,120,207,0)}100%{box-shadow:0 0 0 0 rgba(57,120,207,0)}}
@media(max-width:700px){.assistant-setup-hero{align-items:flex-start;flex-direction:column;padding:23px 20px}.assistant-device-state{width:100%}.assistant-step{grid-template-columns:44px 1fr;padding:18px 16px}.assistant-help{grid-template-columns:1fr}.assistant-item{grid-template-columns:34px 1fr 60px}}
