.recommendations-screen{position:fixed;inset:0;z-index:5200;display:none;justify-content:center;background:#f6f8fb;color:#1d2128;overflow:auto}
.recommendations-screen.open{display:flex}
.recommendations-app{width:min(100%,680px);min-height:100%;background:#fff;padding-bottom:calc(76px + var(--bottom-nav-safe-area))}
.recommendations-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eceef2;padding:max(16px,env(safe-area-inset-top)) 18px 14px}
.recommendations-title{font-size:20px;font-weight:900}
.recommendations-status{margin-top:4px;color:#8a919c;font-size:11px}
.screen-back{flex:0 0 38px;width:38px;height:38px;border:0;border-radius:12px;background:#f0f4f8;color:#536272;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center}
.screen-back .ui-icon{width:22px;height:22px}
.recommendations-refresh{margin-left:auto;border:0;background:transparent;color:#5a7f9e;padding:10px 4px;font-size:12px;font-weight:800;cursor:pointer}
.recommendations-refresh:disabled{opacity:.45}
.recommendations-controls{display:grid;gap:10px;padding:14px 20px 6px;background:#fff}
.recommendations-main-tabs,.recommendations-category-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:#f1f3f7}
.recommendations-category-tabs{margin:0 10px;background:#fff7df;border:1px solid #f5e6b6}
.recommendations-category-tabs[hidden]{display:none}
.recommendations-main-tabs button,.recommendations-category-tabs button{min-height:40px;border:0;border-radius:10px;background:transparent;color:#7c8290;font-size:13px;font-weight:900;cursor:pointer}
.recommendations-main-tabs button.active{background:#fff;color:#2e73ac;box-shadow:0 2px 8px rgba(34,74,110,.12)}
.recommendations-category-tabs button.active{background:#fff;color:#9a7209;box-shadow:0 2px 8px rgba(120,86,0,.12)}
.recommendations-main-tabs button:focus-visible,.recommendations-category-tabs button:focus-visible{outline:2px solid #4a96d8;outline-offset:2px}
.recommendations-list{padding:8px 20px 24px}
.recommendation-place{width:100%;display:flex;align-items:center;gap:12px;border:0;border-bottom:1px solid #eceef2;background:#fff;color:#252a32;padding:16px 2px;text-align:left;cursor:pointer}
.recommendation-place:hover,.recommendation-place:focus-visible{background:#fffdf5}
.recommendation-rank{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#fff5ce;color:#96730d;font-size:13px;font-weight:900}
.recommendation-place:nth-child(1) .recommendation-rank{background:#ffe58a;color:#785600}
.recommendation-place:nth-child(2) .recommendation-rank{background:#e8ebf1;color:#5f6673}
.recommendation-place:nth-child(3) .recommendation-rank{background:#f4d1b0;color:#875125}
.recommendation-copy{min-width:0;flex:1}
.recommendation-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.recommendation-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;color:#8a919c;font-size:10px}
.recommendation-count{display:flex;align-items:center;gap:4px;color:#a27b0a;font-size:12px;font-weight:900}
.recommendation-count .ui-icon{width:17px;height:17px}
.recommendation-chevron .ui-icon{width:18px;height:18px;opacity:.5}
.recommendations-empty{padding:80px 20px;text-align:center;color:#8a919c;font-size:13px;line-height:1.8}
.recommendations-bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,680px);height:calc(68px + var(--bottom-nav-safe-area));padding-bottom:var(--bottom-nav-safe-area);background:#fff;border-top:1px solid #eceef2;display:grid;grid-template-columns:repeat(3,1fr);z-index:20}
.recommendations-bottom-nav button{border:0;background:transparent;color:#8a919c;font-size:11px;font-weight:800;cursor:pointer}
.recommendations-bottom-nav button.active{color:#a27b0a}
.recommendations-bottom-nav span{display:block;font-size:20px;margin-bottom:3px}
.recommendations-bottom-nav span .ui-icon{width:22px;height:22px;margin:0 auto}

.favorites-screen{position:fixed;inset:0;z-index:5150;display:none;justify-content:center;background:#f6f8fb;color:#1d2128;overflow:auto}
.favorites-screen.open{display:flex}
.favorites-app{width:min(100%,680px);min-height:100%;background:#fff}
.favorites-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eceef2;padding:max(16px,env(safe-area-inset-top)) 18px 14px}
.favorites-title{font-size:20px;font-weight:900}
.favorites-subtitle{margin-top:3px;color:#8a919c;font-size:11px}
.favorites-list{padding:8px 20px 28px}
.favorite-place{width:100%;display:flex;align-items:center;gap:12px;border:0;border-bottom:1px solid #eceef2;background:#fff;color:#252a32;padding:16px 2px;text-align:left;cursor:pointer}
.favorite-place:hover{background:#fafbfe}
.favorite-place-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff0f5;color:#e85f91;font-size:24px}
.favorite-place-icon .ui-icon{width:25px;height:25px}
.favorite-place-icon.tour{background:#eef1ff}
.favorite-place-icon.tour .ui-icon{width:26px;height:26px}
.favorite-place-copy{min-width:0;flex:1}
.favorite-place-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.favorite-place-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;color:#8a919c;font-size:10px}
.favorite-place-chevron .ui-icon{width:18px;height:18px;opacity:.5}
.favorite-tour{background:linear-gradient(90deg,#fbfaff,#fff 42%)}
.favorites-empty{padding:80px 20px;text-align:center;color:#8a919c;font-size:13px;line-height:1.8}
