/* Phase 2 checkpoint: isolated mobile presentation. Phase 1 styles unchanged. */
.op-trend-desktop{display:none}
@media(max-width:760px){
 .jm-operations{font-variant-numeric:tabular-nums}
 .jm-first{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:3px 0 18px;border-bottom:1px solid #e7e9e580}
 .jm-first span{display:block;font-size:var(--type-label);color:var(--text-secondary)}
 .jm-first strong{display:block;margin:8px 0 5px;font-size:var(--type-core);font-weight:var(--weight-emphasis);line-height:1.3}
 .jm-first strong small{font-size:var(--type-secondary);font-weight:400;margin-left:4px}
 .jm-first>div>small{font-size:var(--type-meta);color:var(--text-muted)}
 .jm-first .jm-now strong{font-size:var(--type-detail)}
 .jm-support dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 18px}
 .jm-support dt,.jm-target span{font-size:var(--type-label);color:var(--text-secondary)}
 .jm-support dd{font-size:var(--type-detail);font-weight:600;margin:8px 0 0;white-space:nowrap}
 .jm-target{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding-bottom:16px}
 .jm-target>div{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
 .jm-target b{font-size:var(--type-body);font-weight:500}
 .jm-target>small{font-size:var(--type-meta);color:var(--text-muted);grid-column:1/-1}
 .jm-target progress{grid-column:1/-1;appearance:none;border:0;width:100%;height:3px;background:#e7ede7}
 .jm-target progress::-webkit-progress-bar{background:#e7ede7}.jm-target progress::-webkit-progress-value{background:#39846f}
 .jm-period-facts{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:var(--type-secondary);color:var(--text-secondary);padding:8px 0}
 .jm-period-facts b{font-weight:500;color:var(--text-primary)}
 .jm-secondary{font-size:var(--type-secondary);color:var(--text-muted);margin:12px 0}
 .jm-missing,.jm-first strong.jm-missing{color:var(--text-muted);font-weight:400}
}
.op-period-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500}.op-period-heading>small{font-size:10px;font-weight:400;color:#a1a8a3}.op-period-result{padding:12px 0 10px;border-top:1px solid #eceee8}.op-period-values{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap}.op-period-values>div{flex:1;min-width:85px}.op-period-values>div>span{display:block;color:#808a84;font-size:10px}.op-period-values strong{display:block;font-size:18px;font-weight:500;margin-top:6px}.op-period-values strong small{font-size:10px;font-weight:400;color:#929a96;margin-left:4px}.op-other-periods{font-size:10px;color:#929a96;padding:9px 0}.op-other-periods summary{cursor:pointer}.op-other-periods .op-period-result{margin-top:12px;color:#202725}
.op-progress[hidden]{display:none}
.hotel-operations{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;color:#202725;font-variant-numeric:tabular-nums;max-width:430px;margin:auto!important;background:#fafaf8;min-height:100vh}
.op-header{display:flex;align-items:center;gap:14px;height:64px}.op-header>a{font-size:30px;color:#202725;text-decoration:none}.op-header h1{font-size:19px;font-weight:600;margin:0;flex:1}.op-switch{font-size:11px;color:#69736f;position:relative}.op-switch select{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.op-dates{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 25px}.op-dates button,.op-dates label{height:46px;border:0;border-radius:8px;background:transparent;color:#69736f;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:0}.op-dates small{font-size:10px;margin-top:2px}.op-dates button[aria-pressed=true]{background:#354443;color:#fff;box-shadow:0 2px 5px #2027250b}.op-dates input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.op-judgment{display:flex;align-items:center;gap:20px;background:#f0f3ef;padding:13px 14px;border-radius:5px}.op-judgment span{font-size:11px;color:#69736f}.op-judgment strong{display:block;font-size:23px;line-height:1.4;font-weight:600;color:#39846f}.op-judgment-note{font-size:12px}.op-judgment-note small{display:block;font-size:10px;color:#929a96;margin-top:6px}.op-progress{appearance:none;display:block;width:calc(100% - 28px);height:3px;margin:-4px 14px 22px;border:none;background:#e7ede7}.op-progress::-webkit-progress-bar{background:#e7ede7}.op-progress::-webkit-progress-value{background:#39846f}
.op-kpis{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 22px}.op-kpi{min-width:0;padding:13px 12px 16px 4px;min-height:90px;border-bottom:1px solid #edf0ea}.op-kpi:nth-child(even){padding-left:20px;border-left:1px solid #edf0ea}.op-kpi>span{display:block;color:#69736f;font-size:12px;margin-bottom:9px}.op-kpi strong{font-size:24px;font-weight:600;line-height:1.3;white-space:nowrap;letter-spacing:-.5px}.op-kpi strong small{font-size:20px;font-weight:500}.op-kpi>small{display:block;color:#929a96;font-size:10px;margin-top:7px}
.op-section-title{display:flex;align-items:center;justify-content:space-between}.op-section-title h2{font-size:14px;font-weight:600;margin:0}.op-section-title>span{font-size:10px;color:#929a96}.op-trend{width:100%;height:168px;margin-top:8px}.op-trend polyline{fill:none;stroke:#39846f;stroke-width:1.5}.op-trend circle{fill:#39846f}.op-trend text{font-size:10px;fill:#929a96}.op-gridline{stroke:#e7e9e5;stroke-width:.6}.op-no-history{height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;color:#69736f}.op-no-history small{font-size:10px;color:#929a96;margin-top:9px}.op-periods{font-size:11px}.op-periods>div{border-top:1px solid #edf0ea;padding:10px 0}.op-periods small{display:block;font-size:10px;color:#929a96;margin:4px 0}.op-periods p{display:flex;justify-content:space-between;margin:7px 0}.op-periods b{font-weight:500}.op-data-note{font-size:10px;color:#929a96;display:flex;justify-content:space-between;margin:8px 0 12px}.op-source{border-top:1px solid #edf0ea;padding:12px 0;font-size:11px;color:#929a96}.op-source button{border:0;background:transparent;color:#69736f;font-size:11px}.op-source p{line-height:1.7}.op-ai{padding:12px 0 18px;position:sticky;bottom:0;background:#fafaf8}.op-ai button{width:100%;height:46px;border:0;border-radius:7px;background:#354443;color:#fff;font-size:14px;opacity:1}.op-ai small{font-size:10px;opacity:.6;margin-left:8px}.op-loading{display:grid;grid-template-columns:1fr 1fr;gap:15px;min-height:420px}.op-loading i{background:#eff1ec;border-radius:4px}
@media(max-width:760px){.shell:has(.hotel-operations) .topbar,.shell:has(.hotel-operations) .mobile-nav{display:none}.shell:has(.hotel-operations) .workspace{padding:0!important}.shell:has(.hotel-operations) #route-content{padding:0 20px!important;width:100%;box-sizing:border-box}.shell:has(.hotel-operations){background:#fafaf8}}
@media(max-width:760px){
 .op-dates{margin-bottom:20px}
 .op-judgment{background:transparent;border-radius:0;padding:0 4px;align-items:flex-end;justify-content:space-between;gap:10px}
 .op-judgment>div:first-child{display:flex;align-items:baseline;gap:12px}
 .op-judgment span{font-size:11px;color:#808a84}
 .op-judgment strong{font-size:25px;line-height:1.25;font-weight:600}
 .op-judgment-note{font-size:10px;color:#929a96;padding-bottom:4px}
 .op-progress{width:calc(100% - 8px);height:3px;margin:10px 4px 20px}
 .op-kpis{margin-bottom:20px;row-gap:10px}
 .op-kpi{border:0;padding:10px 4px 12px;min-height:80px}
 .op-kpi:nth-child(even){border:0;padding-left:20px}
 .op-kpi>span{font-size:11px;color:#808a84;margin-bottom:10px}
 .op-kpi strong{font-size:24px;letter-spacing:-.4px}
 .op-kpi>small{font-size:10px;color:#9ca49e;margin-top:6px}
 .op-history{padding-top:14px;border-top:1px solid #edf0ea}
 .op-trend{height:180px;margin-top:10px}
 .op-data-note{color:#a1a8a3;margin-top:12px}
 .op-source{color:#9ca49e;border-top:0;padding-top:7px;font-size:10px}
 .shell:has(.hotel-operations) #route-content{padding-bottom:95px!important}
 .op-ai{position:fixed;bottom:0;left:20px;right:20px;padding:12px 0 max(18px,env(safe-area-inset-bottom));z-index:5}
}
