.os-launcher{margin:16px 0 20px;padding:18px 20px;border:1px solid #eadde0;border-radius:18px;background:linear-gradient(100deg,#fff 0%,#fff8f8 100%);display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 8px 24px rgba(11,32,55,.06)}
.os-launcher div{display:grid;gap:3px}.os-launcher span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#e30613}.os-launcher strong{font-size:17px;color:#173247}.os-launcher small{font-size:12px;color:#718397}.os-launcher button{border:0;border-radius:12px;background:#e30613;color:#fff;padding:12px 18px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 8px 22px rgba(227,6,19,.18)}.os-launcher button:disabled{background:#dbe2e8;color:#7e8b96;box-shadow:none;cursor:not-allowed}.os-launcher button span{color:inherit;letter-spacing:0}
.os-overlay{position:fixed;inset:0;background:rgba(8,24,38,.72);z-index:100200;display:none;place-items:center;padding:20px}.os-overlay.open{display:grid}.os-no-scroll{overflow:hidden}.os-shell{width:min(1440px,96vw);max-height:94vh;background:#f5f8fa;border-radius:24px;overflow:hidden;box-shadow:0 32px 100px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18)}#os-content{max-height:94vh;overflow:auto}.os-loading,.os-error{padding:50px;text-align:center;color:#173247}
.os-head{position:sticky;top:0;z-index:4;background:linear-gradient(105deg,#142d42,#2a3d4d 72%,#8f111a);color:#fff;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.os-head span{display:block;font-size:11px;letter-spacing:.18em;font-weight:800;color:#ffc9cc}.os-head h2{margin:4px 0 0;font-size:22px}.os-close{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:27px;cursor:pointer}.os-body{padding:22px;display:grid;gap:16px}.os-hero{background:linear-gradient(110deg,#fff,#fff7f7);border:1px solid #eadde0;border-radius:18px;padding:20px 22px;display:flex;justify-content:space-between;gap:20px}.os-hero small{color:#718397}.os-hero h3{font-size:27px;margin:5px 0;color:#142f43}.os-hero p{margin:0;color:#667b8b}.os-risk{text-align:right;display:flex;flex-direction:column;justify-content:center}.os-risk b{font-size:20px;color:#e30613}.os-risk span{font-size:12px;color:#7a8995;margin-top:4px}
.os-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.os-kpis article,.os-panel,.os-management,.os-stop,.os-coach article{background:#fff;border:1px solid #dce5eb;border-radius:16px;padding:16px}.os-kpis article>span{font-size:11px;font-weight:800;color:#6e8191}.os-kpis strong{display:block;font-size:22px;color:#173247;margin:8px 0}.os-kpis article div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.os-kpis small{font-size:11px;color:#718397}
.os-cmp{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:10px}.os-cmp small{font-size:9px}.os-cmp b{font-size:10px;margin:0}.os-cmp.good{background:#e7f8f1;color:#087d5d}.os-cmp.bad{background:#fff0f1;color:#c92732}.os-cmp.neutral{background:#eef3f6;color:#617382}
.os-summary-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:12px}.os-management h4,.os-stop h4,.os-panel h4{margin:0 0 10px;color:#203b50;font-size:16px}.os-management p,.os-stop p{margin:0;color:#445c6e;line-height:1.65;font-size:14px}.os-stop b{display:inline-block;margin-bottom:8px;border-radius:999px;padding:6px 10px;font-size:11px}.os-stop b.good{background:#e7f8f1;color:#087d5d}.os-stop b.bad{background:#fff0f1;color:#c92732}.os-stop b.warn{background:#fff5df;color:#a96800}.os-stop small{display:block;margin-top:8px;color:#7b8b97}
.os-coach{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.os-coach article{border-left:4px solid}.os-coach article span{display:block;font-size:10px;font-weight:900;letter-spacing:.1em;margin-bottom:8px}.os-coach article b{font-size:14px;color:#233d50}.os-coach .good{border-left-color:#11a979}.os-coach .warn{border-left-color:#e9a400}.os-coach .action{border-left-color:#148ca8}
.os-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.os-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid #edf1f4}.os-row:first-of-type{border-top:0}.os-row>span:first-child{font-size:12px;color:#607688}.os-row>b{font-size:14px;color:#18364b}.os-row>.os-cmp{grid-column:2}.os-row>small{grid-column:1/3;color:#8a98a3}
.os-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.os-trend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.os-trend div{background:#f6f8fa;border-radius:12px;padding:12px}.os-trend span,.os-trend small{display:block;color:#778896;font-size:11px}.os-trend b{display:block;color:#173247;font-size:16px;margin:5px 0}.os-advisor{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid #eef2f5}.os-advisor:first-of-type{border-top:0}.os-advisor em{font-style:normal;width:26px;height:26px;border-radius:8px;background:#eef3f6;display:grid;place-items:center;font-size:11px;font-weight:800}.os-advisor span{font-size:12px;font-weight:700;color:#233f53}.os-advisor small{display:block;font-size:10px;color:#81909b;margin-top:2px}.os-advisor>b{font-size:12px;color:#173247}.os-empty{color:#7b8c98;font-size:12px}.os-foot{display:flex;align-items:center;gap:10px;color:#7d8c97;font-size:11px;padding:4px 4px 0}.os-foot img{height:26px;width:auto}
@media(max-width:1050px){.os-kpis{grid-template-columns:repeat(3,1fr)}.os-detail-grid{grid-template-columns:1fr}.os-summary-grid,.os-two{grid-template-columns:1fr}}@media(max-width:700px){.os-launcher{align-items:stretch;flex-direction:column}.os-launcher button{width:100%}.os-kpis{grid-template-columns:1fr 1fr}.os-coach{grid-template-columns:1fr}.os-hero{flex-direction:column}.os-risk{text-align:left}.os-trend{grid-template-columns:1fr}.os-overlay{padding:5px}.os-shell{width:100%;max-height:98vh;border-radius:16px}#os-content{max-height:98vh}}
.os-head-actions{display:flex;align-items:flex-end;gap:12px}.os-hotel-picker{position:relative;min-width:min(460px,48vw)}.os-hotel-picker label{display:block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:.08em;color:#ffc9cc}.os-search-wrap{position:relative}.os-search-wrap input{width:100%;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.10);color:#fff;padding:0 38px 0 13px;outline:none;font-size:13px}.os-search-wrap input::placeholder{color:rgba(255,255,255,.62)}.os-search-wrap input:focus{border-color:#fff;background:rgba(255,255,255,.15);box-shadow:0 0 0 3px rgba(255,255,255,.08)}.os-search-wrap span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#fff;font-size:17px}.os-hotel-results{position:absolute;top:66px;left:0;right:0;display:none;max-height:310px;overflow:auto;background:#fff;border:1px solid #dce5eb;border-radius:14px;box-shadow:0 18px 45px rgba(5,20,32,.28);z-index:30;padding:6px}.os-hotel-results.open{display:block}.os-hotel-results button{display:block;width:100%;border:0;background:#fff;color:#173247;text-align:left;padding:10px 11px;border-radius:9px;font-size:12px;cursor:pointer}.os-hotel-results button:hover{background:#fff0f1;color:#c81722}.os-no-result{padding:12px;color:#7b8c98;font-size:12px}.os-select-empty{min-height:420px;border:1px dashed #cdd8df;border-radius:20px;background:#fff;display:grid;place-items:center;align-content:center;text-align:center;padding:40px;color:#667b8b}.os-select-empty>div{width:58px;height:58px;border-radius:18px;background:#fff0f1;color:#e30613;display:grid;place-items:center;font-size:28px;margin-bottom:14px}.os-select-empty h3{margin:0 0 8px;color:#173247;font-size:21px}.os-select-empty p{max-width:560px;margin:0;line-height:1.6}.os-loading-large{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.os-loading-large b{font-size:18px}.os-loading-large span{font-size:12px;color:#718397}.os-spinner{width:38px;height:38px;border:4px solid #e9eef2;border-top-color:#e30613;border-radius:50%;animation:osspin .8s linear infinite}@keyframes osspin{to{transform:rotate(360deg)}}.os-sorsat-panel{grid-column:1/-1}.os-panel-note{margin:-3px 0 10px;color:#7a8a96;font-size:11px}.os-sorsat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.os-sorsat-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:8px;border:1px solid #edf1f4;border-radius:12px;padding:10px;background:#fbfcfd}.os-sorsat-item em{font-style:normal;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#eef3f6;font-size:10px;font-weight:800;color:#496274}.os-sorsat-item strong{display:block;font-size:12px;color:#203b50}.os-sorsat-item small{display:block;margin-top:2px;color:#85949f;font-size:10px}.os-sor-pos,.os-sor-neg{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}.os-sor-pos{background:#e7f8f1;color:#087d5d}.os-sor-neg{background:#fff0f1;color:#c92732}
@media(max-width:900px){.os-head{align-items:flex-start}.os-head-actions{width:60%}.os-hotel-picker{min-width:0;flex:1}.os-sorsat-list{grid-template-columns:1fr}}@media(max-width:700px){.os-head{gap:10px}.os-head-actions{width:100%;align-items:flex-end}.os-hotel-picker{width:100%}.os-sorsat-item{grid-template-columns:26px 1fr}.os-sor-pos,.os-sor-neg{grid-column:2}}

/* V119: all hotels visible in a scrollable picker */
.os-hotel-results{max-height:320px;overflow-y:auto;}
