/* A viewport app shell, not a stretched document. Cards have explicit square tracks. */
:root{--navy:#0b2539;--navy-deep:#061725;--teal:#0a9298;--aqua:#51d2d6;--text:#162f43;--muted:#728391;--line:#e5ecf0;--soft:#f5f9fb;--female:#812a48;--female-bg:#f4e7ed;--male:#205f8b;--male-bg:#e3eff7;--green:#15a678;--shadow:0 12px 28px #00101c20;--radius:18px;--card-size:128px;--columns:5;--gap:9px}
*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%}body{font-family:'Tajawal','Noto Sans Arabic',Tahoma,Arial,sans-serif;color:var(--text);font-size:13px;line-height:1.5;background:var(--navy-deep);overflow:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(110deg,#061827ed,#0e3642e8 55%,#1a2a42ed),url('skyline.jpg') center/cover no-repeat}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{border:0}button:disabled{opacity:.45;cursor:not-allowed}a{text-decoration:none;color:inherit}input,select,textarea{min-width:0}svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}.icon-fill{fill:currentColor}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #15b5c0;outline-offset:2px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal)!important;box-shadow:0 0 0 3px #0a929818}button:hover{filter:brightness(.98)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:500}.skip-link:focus{top:6px}
.app-shell{height:100vh;height:100dvh;display:grid;grid-template-rows:62px 40px minmax(0,1fr) 34px;overflow:hidden}.topbar{display:flex;align-items:center;gap:18px;padding:0 24px;background:#071c2ce8;color:#ebf5f8;border-bottom:1px solid #ffffff14}.brand{display:flex;align-items:center;gap:11px;min-width:207px;flex:none}.brand strong{display:block;font-size:18px;line-height:1.35;font-weight:800}.brand small{font-size:10px;color:#a2b8c5}.brand-symbol{width:31px;height:33px;position:relative;display:inline-block;flex:none}.brand-symbol i{position:absolute;width:23px;height:27px;top:0;border-radius:8px 8px 4px 8px;transform:rotate(-43deg);background:linear-gradient(145deg,#e2a9ba,#a2617b);right:12px}.brand-symbol i+i{right:-2px;transform:rotate(43deg);background:linear-gradient(145deg,#70e1e3,#17a4b4)}.primary-nav{display:flex;align-self:stretch;align-items:stretch;justify-content:center;gap:3px;flex:1;min-width:0}.primary-nav a{display:flex;gap:7px;align-items:center;justify-content:center;padding:0 11px;position:relative;font-size:12px;font-weight:700;color:#b4c7d2;white-space:nowrap;border-radius:6px 6px 0 0}.primary-nav a:hover{background:#ffffff09;color:white}.primary-nav a.active{color:#7fe4e4;background:linear-gradient(0deg,#0a92981c,transparent)}.primary-nav a.active::after{content:"";height:3px;background:var(--aqua);position:absolute;bottom:0;left:22%;right:22%;border-radius:3px 3px 0 0}.primary-nav svg{width:16px;height:16px}.primary-nav b{background:#295267;color:#bdf0ed;border-radius:5px;padding:1px 4px;font-size:9px;font-weight:600}.top-actions{display:flex;align-items:center;gap:13px;flex:none}.top-icon{width:33px;height:33px;display:grid;place-items:center;position:relative;color:#d6e9f2;background:#ffffff0a;border:1px solid #ffffff12;border-radius:10px}.attention-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#e097ae;top:5px;right:7px}.account-pill{display:flex;align-items:center;gap:8px;padding:5px}.account-label{display:grid;line-height:1.3}.account-label b{font-size:12px}.account-label small{font-size:9px;color:#a5bbc8}.account-pill>svg,.account-pill>span>svg{width:13px}.stagebar{padding:0 25px;display:flex;align-items:center;justify-content:space-between;color:#dce7ed;font-size:11px}.stagebar>div{display:flex;align-items:center;gap:8px}.stage-dot{width:5px;height:5px;background:var(--aqua);border-radius:50%}.demo-label{color:#9fbcc9!important;font-size:10px}.demo-label svg{width:13px;height:13px}.workspace{display:grid;grid-template-columns:238px minmax(0,1fr) 272px;gap:14px;min-height:0;padding:0 20px 14px;max-width:1740px;width:100%;margin:0 auto;outline:none}.panel{background:#fff;border:1px solid #ffffff8c;border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;min-height:0;overflow:hidden}.footer{display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:#abc3cf;background:#061a29cb;border-top:1px solid #ffffff10;font-size:10px;gap:15px;z-index:20}.footer nav{display:flex;gap:17px;align-items:center}.footer button{background:none;color:inherit;font-size:inherit;padding:0}.footer a:hover,.footer button:hover{color:white}.footer-version{color:#66899c;margin-inline-start:5px;font-size:9px}.connection-note{display:flex;align-items:center;gap:6px;font-size:9px!important}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#74cbc7}.avatar{width:36px;height:36px;display:inline-grid;place-items:center;flex:none;border-radius:50%;font-size:15px;font-weight:700;line-height:1;overflow:hidden}.avatar.male{color:var(--male);background:linear-gradient(135deg,#eff7fc,#d1e6f4);border:1px solid #c4dded}.avatar.female{color:var(--female);background:linear-gradient(135deg,#faf0f4,#e7cad5);border:1px solid #dfbdcb}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.size32{width:32px;height:32px;font-size:13px}.avatar.size28{width:28px;height:28px;font-size:12px}.avatar.size46{width:46px;height:46px;font-size:19px}.avatar.size64{width:64px;height:64px;font-size:26px;border:4px solid white}.subtle{color:var(--muted);font-size:11px}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:6px;font-size:10px;line-height:1.4;background:#edf5f8;color:#55788b}.badge.teal{color:#067b80;background:#e9f7f7}.badge.rose{color:#8a2f4e;background:#f6eaf0}.badge svg{width:12px;height:12px}.verified{color:#2784cc;display:inline-grid;place-items:center;vertical-align:middle;flex:none}.verified svg{width:13px;height:13px;fill:#2784cc;stroke:white;stroke-width:1.7}.verified .seal-bg{stroke:#2784cc}.icon-button{height:31px;width:31px;border-radius:9px;border:1px solid var(--line);display:inline-grid;place-items:center;background:white;color:#6c8290;flex:none}.icon-button svg{width:15px;height:15px}.icon-button.active{background:#f5eaf0;color:#a4375b;border-color:#e5c4d0}.icon-button.saved{background:#ebf8f8;color:#05868b;border-color:#b9e6e7}.btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 13px;border-radius:9px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:12px;line-height:1.4;white-space:nowrap}.btn svg{width:15px;height:15px}.btn.primary{background:var(--navy);color:white;border-color:var(--navy)}.btn.teal{background:var(--teal);color:white;border-color:var(--teal)}.btn.rose{color:#952e51;border-color:#eaceD8;background:#f8edf1}.btn.danger{color:#b52548;border-color:#eac3cc;background:#fff2f5}.btn.small{font-size:10px;min-height:25px;padding:4px 9px;border-radius:7px}.btn.text{border:none;background:none;color:var(--teal);min-height:25px;padding:2px}.grow{min-width:0;flex:1}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;gap:8px;align-items:center}.between{justify-content:space-between}.panel-heading{padding:14px 15px 10px;display:flex;justify-content:space-between;align-items:center}.panel-heading h2{font-size:14px;margin:0;font-weight:800}.panel-heading svg{width:15px;height:15px}.rail-intro{padding:16px 15px 13px;background:linear-gradient(135deg,#f4fafa,#fff);border-bottom:1px solid var(--line)}.rail-intro .row{gap:9px}.rail-intro b{font-size:13px}.rail-intro p{margin:2px 0 0;font-size:10px;color:var(--muted)}.activity-rail{display:flex;flex-direction:column}.rail-scroll{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#dbe7ec transparent}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:13px}.metric{border:1px solid var(--line);border-radius:11px;background:#fff;padding:8px 10px;text-align:right;display:grid;grid-template-columns:1fr auto;gap:2px}.metric svg{width:14px;height:14px;color:#7c8f9b}.metric .number{font-weight:800;color:#13374c;font-size:21px;line-height:1.15}.metric small{font-size:10px;color:#728491}.metric.active{border-color:#7bc9cc;background:#f0fbfb}.metric.active .number{color:#057c80}.rail-section{border-top:1px solid var(--line);padding:12px 13px}.rail-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rail-section-head h3{font-size:12px;margin:0;font-weight:800}.rail-section-head button{font-size:10px;color:var(--teal);background:none;padding:2px}.segmented{display:flex;gap:3px;background:#f1f6f8;padding:3px;border-radius:8px;margin-bottom:8px}.segmented button{flex:1;background:transparent;padding:5px 2px;font-size:10px;white-space:nowrap;border-radius:6px;color:#6b828f}.segmented button.active{background:#fff;box-shadow:0 2px 4px #00132508;color:#154759;font-weight:700}.mini-person{display:flex;align-items:center;gap:8px;width:100%;background:none;padding:7px 0;text-align:right;border-bottom:1px solid #f0f4f6}.mini-person:last-child{border:0}.mini-person b{font-size:11px}.mini-person small{font-size:9px;color:var(--muted);display:block}.mini-person .tiny-time{font-size:9px;color:#8c9ea9;flex:none}.mini-person>svg{width:14px;height:14px;color:#b1c3cc}.unread-pill{min-width:17px;min-height:17px;padding:1px 5px;border-radius:5px;background:#0b999b;color:#fff;font-size:9px;display:grid;place-items:center}.progress-block{padding:12px 13px;background:#f7fbfc;margin-top:auto;border-top:1px solid var(--line)}.progress-block .row{font-size:10px}.progress-line{height:4px;background:#e3edf1;border-radius:4px;overflow:hidden;margin-top:8px}.progress-line span{display:block;height:100%;background:#188e96;border-radius:4px}.progress-block button{font-size:10px;background:none;padding:6px 0 0;color:var(--teal)}
.catalog{display:flex;flex-direction:column;background:linear-gradient(180deg,#edf8ff 0%,#f7fbff 28%,#fff8fb 100%)}.catalog-toolbar{flex:none;padding:14px 17px 12px;background:white;border-bottom:1px solid var(--line)}.catalog-titlebar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}.catalog-title{display:flex;align-items:center;gap:9px}.catalog-title h1{font-size:20px;line-height:1.3;margin:0;font-weight:800}.catalog-title .count{font-size:10px;color:#80939f;white-space:nowrap}.toolbar-tools{display:flex;align-items:center;gap:6px}.search-field{display:flex;align-items:center;gap:7px;max-width:300px;width:250px;padding:7px 10px;background:#f5f9fb;border:1px solid #e5eef2;border-radius:9px}.search-field input{border:0;outline:0;box-shadow:none!important;background:none;font-size:11px;flex:1;width:100%}.search-field svg{width:14px;height:14px;color:#8499a5}.catalog-tabs{display:flex;gap:6px;align-items:center;overflow:auto;scrollbar-width:none}.chip{display:flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid var(--line);background:#fff;padding:5px 11px;border-radius:8px;font-size:11px;color:#647d8c;line-height:1.6}.chip svg{height:13px;width:13px}.chip.active{color:#fff;background:#12384b;border-color:#12384b}.chip[data-filter=female].active{background:var(--female);border-color:var(--female)}.chip[data-filter=male].active{background:var(--male);border-color:var(--male)}.active-filter-tag{display:flex;align-items:center;gap:7px;border-bottom:1px solid #e4eff2;background:#edf7f9;padding:4px 15px;font-size:10px;color:#167780;flex:none}.active-filter-tag button{background:none;color:#196374;font-size:11px}.member-viewport{min-height:0;flex:1;overflow:auto;padding:13px 12px 10px;scrollbar-width:thin;scrollbar-color:#d5e3eb transparent;position:relative;background:linear-gradient(135deg,#dff3ff 0%,#edf8ff 42%,#fef2f8 100%)}.member-grid{display:grid;grid-template-columns:repeat(var(--columns),var(--card-size));grid-auto-rows:var(--card-size);gap:var(--gap);justify-content:center;align-content:start;align-items:start;min-width:0}.member-card{position:relative;width:var(--card-size);height:var(--card-size);aspect-ratio:1;min-width:0;min-height:0;overflow:hidden;border:1.5px solid #8f5b75;border-radius:12px;background:white;box-shadow:0 6px 18px #00152512;transition:border-color .15s,box-shadow .15s;isolation:isolate}.member-card::before{content:"";position:absolute;inset:0 0 42%;background:linear-gradient(140deg,#fbf4f7,white);z-index:-1}.member-card.male::before{background:linear-gradient(140deg,#e8f7ff,white)}.member-card.selected{border-color:#34c6d0;box-shadow:0 0 0 2px #33d1de4f,0 10px 22px #00152514}.member-card:hover{border-color:#58a6be;box-shadow:0 8px 18px #002b3818}.member-main{display:flex;flex-direction:column;width:100%;height:100%;text-align:right;background:none;padding:9px 10px 8px;position:relative;overflow:hidden;outline-offset:-4px!important}.member-card .avatar{width:clamp(28px,calc(var(--card-size)*.25),40px);height:clamp(28px,calc(var(--card-size)*.25),40px);font-size:clamp(12px,calc(var(--card-size)*.12),18px);border-radius:11px;margin-bottom:5px}.member-name{font-size:12px;font-weight:800;display:flex;align-items:center;gap:4px;white-space:nowrap;width:100%;line-height:1.35;margin-bottom:2px}.member-name b{overflow:hidden;text-overflow:ellipsis;max-width:80%}.member-place{color:#657f8c;font-size:10px;display:flex;align-items:center;gap:2px;line-height:1.35;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-place svg{height:10px;width:10px}.member-major{font-size:9px;color:#8b9ea8;margin-top:3px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.member-age{position:absolute;left:9px;bottom:9px;font-size:9px;color:#a0aeb5;background:#ffffffd4;border-radius:5px;padding:1px 3px}.member-main .member-major{padding-left:26px}.member-card .bookmark{position:absolute;left:7px;top:7px;z-index:3;border:0;background:transparent;height:23px;width:23px;padding:0;display:grid;place-items:center;color:#a2b4be;border-radius:6px}.member-card .bookmark svg{height:14px;width:14px}.member-card .bookmark.on{color:#148d93;background:#e9f8f6}.online-indicator{position:absolute;width:6px;height:6px;border-radius:50%;background:#0fb58a;left:15px;top:37px;box-shadow:0 0 0 2px white}.new-tag{position:absolute;left:8px;top:48px;font-size:8px;font-weight:600;color:#128786}.collection-note{position:absolute;bottom:0;left:0;right:0;background:#eaf7f6;color:#198d8b;font-size:8px;text-align:center}.request-card .member-main{height:calc(100% - 29px);padding-top:7px}.request-card .avatar{width:27px;height:27px;border-radius:9px;margin-bottom:3px;font-size:12px}.request-card .member-major{display:none}.request-actions{height:27px;position:absolute;bottom:0;left:0;right:0;display:flex;gap:4px;align-items:center;padding:2px 7px 5px}.request-actions button{font-size:9px;border:1px solid #dde9ef;background:white;border-radius:5px;height:20px;min-width:25px}.request-actions .accept{background:#e4f6f2;color:#148b75;border-color:#c3e9df;flex:1}.request-actions .reject{color:#935772}.request-actions svg{height:11px;width:11px}.pager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;border-top:1px solid var(--line);background:#fff;flex:none;min-height:45px}.pager-summary{font-size:10px;color:#8497a2;white-space:nowrap}.page-buttons{display:flex;gap:4px;align-items:center;direction:rtl}.page-buttons button{height:27px;min-width:27px;border:1px solid #e0e9ee;background:#fff;border-radius:6px;color:#6a8491;font-size:11px}.page-buttons button.current{color:white;background:#16394c;border-color:#16394c}.page-buttons svg{height:12px;width:12px}.pager-size{font-size:9px;color:#a0aeb5}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:8px;padding:50px 20px;color:#7a909d;height:100%}.empty-state svg{height:32px;width:32px;color:#a1bbc6}.empty-state h3{margin:5px 0 0;color:#355166;font-size:16px}.empty-state p{max-width:280px;margin:0;font-size:12px}
.inspector{display:flex;flex-direction:column;position:relative}.profile-banner{height:94px;flex:none;background:linear-gradient(130deg,#173646ca,#273548ae),url('skyline.jpg') center/cover;position:relative}.profile-banner.female{background:linear-gradient(130deg,#65233ebb,#375064b8),url('skyline.jpg') center/cover}.profile-banner .avatar{position:absolute;right:calc(50% - 32px);bottom:-22px;box-shadow:0 3px 7px #263b4820}.profile-banner .icon-button{position:absolute;top:9px;left:10px;background:#ffffff24;color:white;border:1px solid #ffffff1a}.profile-heading{text-align:center;padding:28px 10px 12px;flex:none}.profile-heading h2{display:flex;justify-content:center;align-items:center;gap:5px;font-size:18px;margin:0;line-height:1.35}.profile-heading p{color:var(--muted);font-size:10px;margin:5px 0}.presence{display:inline-flex;gap:4px;align-items:center;color:#168e73;font-size:9px}.presence.offline{color:#8899a3}.presence i{height:5px;width:5px;background:currentColor;border-radius:50%}.profile-controls{display:flex;gap:7px;padding:0 15px 12px;flex:none}.profile-controls .btn{font-size:11px;flex:1}.profile-tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 12px;flex:none}.profile-tabs button{background:none;position:relative;color:#8798a2;flex:1;padding:10px 2px;font-size:10px}.profile-tabs button.active{color:#1c6d79;font-weight:700}.profile-tabs button.active::after{content:"";position:absolute;bottom:0;left:16%;right:16%;height:2px;border-radius:2px;background:var(--teal)}.profile-scroll{padding:14px 15px;overflow:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#d9e5ec transparent}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.profile-data label{display:block;color:#99a7b1;font-size:9px;margin-bottom:2px}.profile-data b{display:block;font-size:11px;color:#486274;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.profile-section{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.profile-section h3{font-size:11px;margin:0 0 7px}.profile-section p{font-size:11px;line-height:1.85;color:#6f8390;margin:0}.tags{display:flex;gap:5px;flex-wrap:wrap}.tag{border-radius:6px;background:#f1f6f8;color:#638091;padding:4px 8px;font-size:9px}.profile-foot{padding:9px 13px;border-top:1px solid var(--line);font-size:9px;color:#a4b3bc;display:flex;justify-content:space-between;flex:none}.profile-foot button{background:none;color:#7894a2;font-size:9px}.mobile-close{display:none}.inspector-actions{display:flex;gap:6px}.inspector .empty-state{justify-content:center}
.chat-launcher{position:fixed;left:36px;bottom:34px;padding:9px 13px;border-radius:12px 12px 0 0;background:#123c50;color:#e8f5f8;display:flex;align-items:center;gap:8px;box-shadow:0 -3px 20px #031b1e24;z-index:31;font-size:11px;border:1px solid #4c7b852d}.chat-launcher svg{width:15px;height:15px}.chat-launcher b{background:#20b9bc;color:white;font-size:9px;padding:1px 5px;border-radius:5px}.chat-launcher .icon:last-child{width:12px}.chat-dock{position:fixed;bottom:44px;left:24px;width:min(750px,calc(100vw - 48px));height:min(510px,calc(100dvh - 145px));z-index:40;box-shadow:0 20px 80px #00132070;display:grid;grid-template-rows:46px minmax(0,1fr);border-color:#c5d6df}.dock-head{background:#102f44;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.dock-head h3{font-size:13px;margin:0}.dock-head .icon-button{background:#ffffff14;color:white;border-color:#ffffff12;width:27px;height:27px}.dock-body{display:grid;grid-template-columns:215px minmax(0,1fr);min-height:0}.conversation-list{overflow:auto;min-height:0;border-left:1px solid var(--line);background:white}.conversation-list .mini-person{padding:12px 13px;border-bottom:1px solid #edf2f5}.conversation-list .mini-person.active{background:#edf8fa;border-right:3px solid #189da2;padding-right:10px}.conversation-search{padding:12px 12px 7px;flex:none}.conversation-search .search-field{width:100%}.chat-rail{height:100%;display:flex;flex-direction:column}.chat-rail .conversation-list{border:0;flex:1}.thread{display:flex;flex-direction:column;min-height:0;height:100%;background:white;min-width:0}.thread-header{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line);flex:none}.thread-header .row{gap:8px}.thread-header b{font-size:12px}.thread-header small{font-size:9px;display:block;color:#8fa2ac}.thread-header .row button{background:none;text-align:right;padding:0}.messages{min-height:0;flex:1;padding:15px 18px;display:flex;flex-direction:column;gap:10px;overflow:auto;background:radial-gradient(#dbe8ee70 .6px,transparent .6px) 0 0/14px 14px,#f8fbfd;scrollbar-width:thin}.date-divider{display:flex;justify-content:center;font-size:9px;color:#9aadb7;margin:0 0 12px}.date-divider span{border:1px solid #e4edf1;background:white;padding:3px 14px;border-radius:20px}.bubble{max-width:80%;background:#fff;border:1px solid #e2eaef;border-radius:12px 12px 4px 12px;padding:9px 12px;align-self:flex-start;line-height:1.7;font-size:12px;box-shadow:0 2px 4px #051e2f03;overflow-wrap:anywhere;white-space:pre-wrap}.bubble.mine{align-self:flex-end;background:#126f91;color:#fff;border-color:#126f91;border-radius:12px 12px 12px 4px}.bubble time{display:flex;justify-content:flex-end;font-size:8px;line-height:1.2;opacity:.65;margin-top:4px}.bubble img{width:100%;max-width:210px;max-height:180px;object-fit:contain;display:block;border-radius:6px}.bubble audio{max-width:225px;width:100%}.composer{display:flex;gap:7px;padding:11px 12px;border-top:1px solid var(--line);align-items:center;flex:none;background:#fff}.composer input[type=text]{border:1px solid var(--line);background:#f9fbfc;height:37px;border-radius:9px;padding:0 10px;flex:1;font-size:12px}.composer .btn{height:36px;min-width:38px;padding:0 10px}.chat-bottom-note{text-align:center;font-size:9px;color:#a1afb8;padding:0 10px 7px;background:white;flex:none}.attachment-hint{font-size:10px;padding:4px 12px;background:#effaf8;color:#388377}.messages-empty{height:100%;display:flex;align-items:center;justify-content:center;padding:30px;color:#8c9da7;text-align:center}.thread-header .mobile-back{display:none}
.workspace.settings-workspace{grid-template-columns:238px minmax(0,1fr)}.settings-workspace .inspector{display:none}.settings-nav{padding:12px;display:flex;flex-direction:column;gap:3px}.settings-nav h2{font-size:15px;margin:5px 8px 12px}.settings-nav a{display:flex;align-items:center;gap:10px;border-radius:9px;padding:10px;color:#718695;font-size:12px}.settings-nav a.active{background:#eef8f8;color:#0e8b91;font-weight:700}.settings-nav svg{width:16px;height:16px}.settings-nav a.danger{color:#b44967}.settings-nav .back-discover{border-top:1px solid var(--line);margin-top:13px;padding-top:14px}.settings-content{display:flex;flex-direction:column;height:100%;min-height:0}.settings-header{padding:18px 23px;border-bottom:1px solid var(--line);flex:none;background:white}.settings-header h1{font-size:21px;margin:0 0 3px}.settings-header p{font-size:11px;color:#8a9ca7;margin:0}.settings-scroll{padding:22px 24px;overflow:auto;min-height:0;flex:1;background:#fff}.settings-form{max-width:870px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#556e7e}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe8ee;border-radius:9px;background:#fbfdfe;padding:9px 11px;line-height:1.5;font-size:12px}.field textarea{resize:vertical;min-height:84px}.field small{color:#9babb5;font-size:9px}.form-section{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.form-section h3{font-size:14px;margin:0 0 14px}.form-actions{display:flex;gap:10px;align-items:center;padding-top:18px}.form-note{font-size:10px;line-height:1.8;color:#879ba8;background:#f4f9fb;border:1px solid #e1edf2;border-radius:10px;padding:11px 13px;margin:14px 0}.avatar-editor{display:flex;gap:15px;align-items:center;margin-bottom:24px}.avatar-editor .avatar{border:1px solid #dbe8ee}.avatar-editor .actions{display:flex;gap:7px;margin-top:5px}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);gap:20px}.toggle-row b{font-size:12px;display:block}.toggle-row small{font-size:10px;color:#8da0ac}.switch{position:relative;width:37px;height:22px;flex:none}.switch input{position:absolute;width:100%;height:100%;opacity:0;z-index:2;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:20px;background:#d8e4eb;transition:background .15s}.switch span::after{content:"";width:16px;height:16px;position:absolute;left:3px;top:3px;background:white;border-radius:50%;box-shadow:0 1px 3px #00152820;transition:transform .15s}.switch input:checked+span{background:#199d9e}.switch input:checked+span::after{transform:translateX(15px)}.switch input:focus-visible+span{outline:3px solid #22c3cb;outline-offset:3px}.ticket{border:1px solid var(--line);border-radius:11px;padding:13px;margin:10px 0}.ticket h3{font-size:12px;margin:0}.ticket p{font-size:11px;color:#7c909f;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.status-card{padding:17px;background:#f3faf9;border:1px solid #d1ebe7;border-radius:12px;display:flex;gap:12px;margin-bottom:17px}.status-card>svg{height:27px;width:27px;color:#128f89}.status-card h3{margin:0;font-size:14px}.status-card p{font-size:11px;color:#78919d;margin:5px 0}.form-errors{color:#b63053;background:#fff2f5;border:1px solid #f4d2dc;border-radius:8px;padding:9px;font-size:11px}.settings-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.settings-quick a{border:1px solid var(--line);background:white;border-radius:11px;padding:15px;display:grid;gap:7px}.settings-quick svg{color:var(--teal)}.settings-quick small{font-size:10px;color:#8ca0ac}.legal-text{font-size:12px;line-height:2;color:#688291}.legal-text h3{color:#24495e;font-size:14px}.danger-box{background:#fff7f9;border:1px solid #f1d5df;border-radius:11px;padding:16px;color:#944561;line-height:1.9;font-size:12px}.settings-hero{background:linear-gradient(130deg,#123449,#1c5260);color:white;padding:18px;border-radius:13px;display:flex;justify-content:space-between;align-items:center}.settings-hero b{display:block;font-size:17px}.settings-hero small{font-size:11px;color:#bfdae1}.settings-hero .avatar{border-color:#bfdbe3}
.modal{border:1px solid #e6eef2;border-radius:20px;padding:0;width:min(500px,calc(100vw - 30px));max-height:calc(100dvh - 40px);overflow:auto;color:var(--text);box-shadow:0 25px 100px #00101d80;background:white}.modal::backdrop{background:#0519299e;backdrop-filter:blur(4px)}.modal.large{width:min(760px,calc(100vw - 30px))}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.modal-head h2{margin:0;font-size:17px}.modal-body{padding:19px 20px}.modal-body>.subtle{margin:0 0 15px}.modal-body .field+.field{margin-top:12px}.modal-body .form-grid .field{margin-top:0}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:18px}.modal .profile-banner{margin-top:0}.modal .profile-scroll{max-height:50vh}.modal p{font-size:12px;line-height:1.9;color:#718895;overflow-wrap:anywhere}.modal-body .notification-row{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.notification-row .grow{background:none;text-align:right}.notification-row b{display:block;font-size:12px}.notification-row small{font-size:10px;color:#8ea0ac}.auth-art{height:115px;background:linear-gradient(130deg,#0a263bbb,#172c4099),url('skyline.jpg') center/cover;color:white;display:flex;align-items:center;justify-content:center;gap:12px}.auth-art strong{font-size:20px}.auth-progress{display:flex;gap:4px;justify-content:center;padding:12px}.auth-progress span{width:29px;height:3px;border-radius:3px;background:#e2edf1}.auth-progress span.current{background:var(--teal)}.auth-links{display:flex;justify-content:space-between;padding-top:14px;font-size:11px}.auth-links button{background:none;color:var(--teal)}.auth-title{margin:0 0 14px;font-size:20px}.toast-stack{position:fixed;bottom:82px;left:50%;transform:translateX(-50%);max-width:min(420px,90vw);display:grid;gap:8px;z-index:150;pointer-events:none}.toast{padding:11px 16px;border:1px solid #c5e5df;background:#f6fffc;box-shadow:0 8px 35px #0015222a;border-radius:11px;font-size:12px;color:#167369;display:flex;gap:9px;align-items:center;animation:toast-in .2s ease-out}.toast.error{color:#a82e54;background:#fff6f9;border-color:#eac1ce}.toast svg{height:16px;width:16px}.noscript{position:fixed;inset:30%;background:white;padding:40px;text-align:center;z-index:999}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1750px){.workspace{grid-template-columns:252px minmax(0,1fr) 288px;gap:18px}.catalog-toolbar{padding:17px 20px}.stagebar{max-width:1750px;width:100%;margin:auto}.profile-scroll{padding:17px 19px}.member-name{font-size:13px}.member-place{font-size:11px}.member-major{font-size:10px}}
@media(max-width:1260px){.workspace{grid-template-columns:208px minmax(0,1fr) 244px;gap:11px;padding-inline:13px}.topbar{padding-inline:16px;gap:10px}.brand{min-width:185px}.brand strong{font-size:16px}.primary-nav a{padding:0 8px;font-size:11px;gap:5px}.account-label{display:none}.catalog-toolbar{padding:11px}.search-field{width:195px}.catalog-title h1{font-size:18px}.catalog-title .count{font-size:9px}.profile-controls{padding-inline:11px}.profile-scroll{padding:12px}.rail-intro{padding:12px}.metric-grid{padding:10px}.rail-section{padding:10px}.metric .number{font-size:19px}.stagebar{padding-inline:16px}}
@media(max-height:800px) and (min-width:1101px){.app-shell{grid-template-rows:56px 32px minmax(0,1fr) 32px}.workspace{padding-bottom:10px;gap:11px}.topbar{padding-inline:20px}.profile-banner{height:75px}.profile-banner .avatar{width:55px;height:55px;font-size:23px;right:calc(50% - 27.5px)}.profile-heading{padding-top:27px;padding-bottom:7px}.profile-heading h2{font-size:16px}.profile-heading p{margin:3px 0}.profile-tabs button{padding:8px 2px}.profile-scroll{padding-top:10px}.profile-grid{gap:9px}.profile-section{margin-top:10px;padding-top:9px}.catalog-toolbar{padding:10px 12px}.catalog-titlebar{margin-bottom:9px}.member-main{padding:7px 9px}.member-card .avatar{margin-bottom:4px}.member-name{font-size:11px}.member-major{font-size:8.5px;margin-top:2px}.member-place{font-size:9.5px}.metric .number{font-size:18px}.metric{padding:6px 8px}.metric-grid{gap:6px;padding:9px 11px}.rail-intro{padding:10px 13px}.rail-section{padding:10px 12px}.rail-section .mini-person{padding:5px 0}.rail-section .avatar{width:29px;height:29px;font-size:12px}.progress-block{padding:9px 12px}.chat-launcher{bottom:32px}.pager{min-height:41px;padding-block:6px}.member-viewport{padding-block:9px}}
@media(max-width:1100px){.workspace{grid-template-columns:200px minmax(0,1fr);gap:12px}.inspector{display:none}.workspace.settings-workspace{grid-template-columns:195px minmax(0,1fr)}.brand{min-width:175px}.topbar{gap:8px;padding-inline:14px}.brand strong{font-size:15px}.primary-nav a{font-size:11px;padding-inline:7px}.primary-nav svg{display:none}.primary-nav b{display:none}.search-field{width:230px}.member-main{padding:10px}.member-major{font-size:10px}.member-name{font-size:13px}.member-place{font-size:11px}.member-card .avatar{width:34px;height:34px}.modal .inspector{display:flex}.chat-launcher{left:23px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-shell{grid-template-rows:104px 29px minmax(0,1fr) 34px}.topbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:55px 49px;gap:0;padding-inline:13px}.brand{min-width:0}.brand strong{font-size:16px}.brand small{font-size:9px}.brand-symbol{transform:scale(.88)}.primary-nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:space-between;gap:0;overflow:auto}.primary-nav a{flex:1;padding:3px 4px 5px;flex-direction:column;gap:3px;font-size:9px;line-height:1.4;min-width:50px;border-radius:0}.primary-nav svg{display:inline-block;width:17px;height:17px}.primary-nav a.active::after{left:27%;right:27%;height:2px}.primary-nav b{display:none}.top-actions{justify-content:flex-end;grid-row:1;grid-column:2;gap:8px}.account-pill{padding:0}.account-pill>svg{display:none}.top-icon{width:30px;height:30px}.stagebar{padding-inline:13px;font-size:9px}.demo-label{font-size:9px}.demo-label svg{height:11px;width:11px}.desktop-only{display:none}.workspace{display:flex;gap:0;padding:0 9px 9px}.activity-rail{display:none}.catalog{flex:1;border-radius:14px;min-height:0}.catalog-toolbar{padding:12px 11px 9px}.catalog-titlebar{margin-bottom:8px;align-items:flex-start;flex-wrap:wrap;gap:9px}.catalog-title h1{font-size:18px}.catalog-title{gap:6px;flex:1}.catalog-title .count{font-size:9px}.toolbar-tools{width:100%}.toolbar-tools .search-field{flex:1;max-width:none;width:auto;padding-block:6px;min-height:36px}.toolbar-tools .icon-button{height:35px;width:35px}.catalog-tabs{gap:5px}.chip{padding:5px 8px;font-size:10px}.member-viewport{padding:9px;overflow:auto}.member-grid{gap:9px}.member-card{border-radius:11px}.member-main{padding:10px}.member-card .avatar{width:35px;height:35px;font-size:16px}.member-name{font-size:13px}.member-place{font-size:10px}.member-major{font-size:9px}.member-age{bottom:10px}.pager{padding:8px 9px;min-height:65px;flex-wrap:wrap;justify-content:center;gap:5px}.pager-summary{width:100%;text-align:center;font-size:9px}.pager-size{display:none}.page-buttons button{height:28px;min-width:28px}.footer{padding:0 11px;font-size:8px;gap:6px}.footer nav{gap:9px}.connection-note{display:none}.footer-version{display:none}.chat-launcher{left:15px;bottom:34px;font-size:9px;padding:6px 10px}.chat-launcher svg{height:13px;width:13px}.chat-dock{left:9px;bottom:44px;width:calc(100vw - 18px);height:calc(100dvh - 125px);grid-template-rows:44px minmax(0,1fr);border-radius:14px}.dock-body{display:block;position:relative}.dock-body>.conversation-list{display:none}.chat-dock.show-list .dock-body>.conversation-list{display:block;height:100%}.chat-dock.show-list .thread{display:none}.thread-header .mobile-back{display:inline-grid}.thread-header{height:53px;padding:0 10px}.messages{padding:13px 10px}.bubble{max-width:87%;font-size:12px}.composer{padding:8px;gap:5px}.composer .icon-button{width:29px;height:34px}.composer input[type=text]{height:35px}.composer .btn{height:35px;min-width:34px;padding:0 8px}.workspace.settings-workspace{display:flex;flex-direction:column}.settings-workspace .activity-rail{display:block;flex:none;border-radius:12px;margin-bottom:8px;background:#ffffffed}.settings-nav{display:flex;flex-direction:row;overflow:auto;gap:4px;padding:6px;scrollbar-width:none}.settings-nav h2,.settings-nav .back-discover{display:none}.settings-nav a{flex:none;padding:7px 10px;font-size:10px;gap:5px;border-radius:7px;white-space:nowrap}.settings-nav svg{width:13px;height:13px}.settings-workspace .catalog{flex:1}.settings-header{padding:13px 15px}.settings-header h1{font-size:18px}.settings-header p{font-size:10px}.settings-scroll{padding:14px}.form-grid{grid-template-columns:1fr 1fr;gap:10px}.form-grid.two{grid-template-columns:1fr}.settings-quick{grid-template-columns:1fr 1fr}.settings-quick a{padding:12px}.avatar-editor{gap:11px}.avatar-editor .avatar{width:52px;height:52px;font-size:22px}.avatar-editor .btn{font-size:10px;padding:5px 10px}.settings-hero{padding:14px}.toggle-row{gap:10px}.modal-head{padding:14px 16px}.modal-body{padding:15px 16px}.modal .profile-scroll{max-height:45vh}.workspace.messages-workspace .activity-rail{display:block;flex:1}.workspace.messages-workspace .catalog{display:none}.workspace.messages-workspace.mobile-thread .activity-rail{display:none}.workspace.messages-workspace.mobile-thread .catalog{display:flex}.chat-rail .conversation-list .mini-person{padding:13px}.toast-stack{bottom:90px}.modal .profile-heading{padding-top:26px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Explicit inline containment prevents an intrinsic-size grid child widening the app on mobile. */
.app-shell{grid-template-columns:minmax(0,1fr)}.workspace,.topbar,.stagebar,.footer,.catalog-toolbar,.catalog-titlebar,.toolbar-tools,.catalog-tabs,.member-viewport{min-width:0}.member-years{font-size:10px;font-weight:400;color:#879ba7}.member-university{font-size:8.5px;color:#99aab5;margin-top:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block;line-height:1.6;direction:ltr;text-align:right}.member-main .member-major{padding-left:0}.request-card .member-university{display:none}.catalog-toolbar{background:linear-gradient(95deg,#4a8db133,#f1faff00),url('skyline.jpg') center/cover;color:#edf7fb;border-bottom:0}.catalog-title .count{color:#aec8d4}.catalog-toolbar .chip{background:#f7fbffcc;border-color:#d5e7ef;color:#42606f}.catalog-toolbar .chip.active{background:#f4ffff;color:#133d50;border-color:#f4ffff}.catalog-toolbar .chip[data-filter=female].active{background:#8d3a58;color:white;border-color:#bf718e}.catalog-toolbar .chip[data-filter=male].active{background:#296b93;color:white;border-color:#74a8c7}.catalog-toolbar .segmented{background:#f7fbffbf}.catalog-toolbar .segmented button{color:#557484}.catalog-toolbar .segmented button.active{color:#184f5b}.catalog-toolbar .search-field{background:#ffffffea}.catalog-toolbar .icon-button{background:#f7fbffcc;color:#35596a;border-color:#dcecf3}
@media(max-width:760px){.member-university{font-size:9px}.catalog-title h1{color:white}.member-main{gap:1px}.member-name{margin-top:3px}}
.profile-foot{min-height:64px;align-items:flex-start}
@media(max-width:760px){.chat-launcher{display:none}.member-main{padding:8px;gap:0}.member-card .avatar{width:clamp(28px,calc(var(--card-size)*.24),34px);height:clamp(28px,calc(var(--card-size)*.24),34px);font-size:14px;margin-bottom:3px}.member-name{font-size:12px;line-height:1.3;margin-top:0;margin-bottom:2px}.member-university{font-size:8px;line-height:1.4}.member-place{font-size:9.5px}.member-major{font-size:8.5px;line-height:1.3;margin-top:2px}.member-years{font-size:9px}.modal .profile-foot{min-height:34px}.member-card .bookmark{top:5px;left:4px}.new-tag{font-size:7px;top:43px;left:6px}.online-indicator{top:32px;left:12px}}

/* V3: same viewport workspace, distinct nationality/residence and compact square cards. */
.stage-hint{color:#b6ced9;font-size:10px}.stage-hint svg{width:12px;height:12px}
.footer-note{font-size:9px;color:#b5cad4}
.catalog{background:linear-gradient(155deg,#15384dce,#0c263bd9);border-color:#ffffff25;backdrop-filter:blur(16px)}
.catalog-toolbar{background:linear-gradient(100deg,#09283dd9,#12374ed2),url('skyline.jpg') center/cover}
.member-viewport{background:transparent;scrollbar-color:#54788b transparent}
.catalog-title h1{color:#fff}.catalog-title .count{color:#c8dce4}
.catalog .empty-state{color:#bdd6e0}.catalog .empty-state h3{color:white}.catalog .empty-state svg{color:#92c0ce}
.member-card{border-color:#ffffff24;box-shadow:0 2px 5px #07101c12;transition:box-shadow .15s,border-color .15s;background:linear-gradient(145deg,#a26a81,#5b2c43);color:#fff;border-radius:13px}
.member-card.male{background:linear-gradient(145deg,#296485,#0d314b)}
.member-card::before,.member-card.male::before{background:radial-gradient(ellipse at 25% 0%,#ffffff10,transparent 72%);inset:0;z-index:-1}
.member-card.selected{border-color:#5de1dc;box-shadow:0 0 0 2px #63d8d851}
.member-main{align-items:center;text-align:center;padding:8px 6px 7px;gap:0}
.member-card .avatar,.member-card.male .avatar,.member-card.female .avatar{border-radius:50%;background:#ffffff10;color:#fff;border:1px solid #ffffff38;box-shadow:none;width:clamp(24px,calc(var(--card-size)*.23),38px);height:clamp(24px,calc(var(--card-size)*.23),38px);margin:1px 0 4px;font-size:clamp(13px,calc(var(--card-size)*.11),20px)}
.member-name{justify-content:center;font-size:12px;margin:0 0 2px;flex-shrink:0}
.member-name b{max-width:calc(100% - 30px)}.member-years{color:#f2f6fb;font-size:10px}
.member-nationality{display:inline-flex;max-width:95%;color:#fefcfd;background:#ffffff13;border:1px solid #ffffff20;line-height:1.25;padding:1px 7px;border-radius:20px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px;flex-shrink:0}
.member-place{color:#eff7fb;justify-content:center;font-size:10px;min-height:13px;flex-shrink:0;max-width:100%}
.residence-flag{font-size:10px;margin-inline-end:2px;line-height:1}
.member-main .member-major{padding:0;color:#e2eaf0;font-size:9px;margin-top:2px;flex-shrink:0;text-align:center}
.member-university{color:#e4edf2;font-size:8px;text-align:center;margin:3px 0 0;width:100%;max-width:100%;flex-shrink:0}
.member-card .bookmark{color:#faf0f5;top:6px;left:6px;width:22px;height:22px;border:1px solid #ffffff26;background:#ffffff08}
.member-card .bookmark.on{background:#fff2;color:#fff;border-color:#ffffff4c}.member-card .bookmark.on svg{fill:currentColor}
.online-indicator{left:auto;right:7px;top:9px;box-shadow:none;background:#39d296;width:6px;height:6px}
.card-gender{position:absolute;top:19px;right:7px;color:#e3f0f4;opacity:.8}.card-gender svg{width:11px;height:11px}
.new-tag{top:31px;left:6px;color:#f7fbfd;font-size:7px}
.request-card .member-main{height:calc(100% - 27px);padding-top:6px}
.request-card .member-nationality{font-size:8px;margin-bottom:2px}
.request-card .avatar{width:25px;height:25px;margin-bottom:2px}
.request-card .member-major,.request-card .member-university{display:none}
.request-actions{background:#11283b2b}.request-actions button{background:#fffc;border-color:#ffffff45}.request-actions .accept{color:#145064;background:#eefbfc}
.member-grid.compact .member-main{padding:5px 5px 4px}
.member-grid.compact .member-card .avatar{width:24px;height:24px;margin-bottom:3px;font-size:13px}
.member-grid.compact .member-name{font-size:11px;line-height:1.2;margin-bottom:2px}
.member-grid.compact .member-nationality{font-size:8px;line-height:1.2;padding:1px 6px;margin-bottom:3px}
.member-grid.compact .member-place{font-size:9px;min-height:12px;line-height:1.2}
.member-grid.compact .member-major{font-size:8px;line-height:1.2;margin-top:2px}
.member-grid.compact .member-university{display:none}
.member-grid.compact .request-card .avatar{width:20px;height:20px;font-size:10px;margin-bottom:1px}
.member-grid.compact .request-card .member-name{font-size:10px}
.member-grid.compact .request-card .member-nationality{margin-bottom:1px}
.member-grid.compact .request-card .new-tag{display:none}
.member-grid.compact .bookmark{width:20px;height:20px;left:4px;top:4px}
.member-grid.compact .bookmark svg{width:11px;height:11px}
.member-grid.compact .card-gender{right:4px;top:20px}.member-grid.compact .online-indicator{right:5px;top:7px}
.pager{color:#d8eaf1;background:#0b263a65;border-color:#ffffff20}.pager-summary,.pager-size{color:#bfd5df}
.page-buttons button{background:#ffffff06;color:#dcebf2;border-color:#ffffff26}.page-buttons button.current{background:#30b9bd;color:#052538;border-color:#30b9bd}
.active-filter-tag{background:#1b4b5bd9;color:#d7f5f6;border-color:#ffffff15;flex-wrap:wrap}.active-filter-tag button{color:#a2ebea}
.profile-nationality{font-size:10px;line-height:1.5;border-radius:20px;padding:1px 7px;background:#f0e6ec;color:#783450;font-weight:500}
.profile-residency{line-height:1.5!important;font-size:10px!important;color:#486879!important}
.profile-foot{min-height:34px;align-items:center}.profile-heading h2{flex-wrap:wrap}
.service-note{color:#5a7385;font-size:12px;line-height:1.8;padding:10px 12px;border:1px solid #dce7ed;border-radius:9px;background:#f4f9fb}
.country-field select{width:100%;min-width:0}
.chat-bottom-note{display:none}.settings-content{background:#fff;color:var(--text)}
@media(max-width:760px){.stage-hint{font-size:8px}.footer-note{display:none}.member-main{align-items:center}.member-nationality{font-size:9px}.member-university{font-size:8px}.member-main .member-place{font-size:9px}.member-name{font-size:11px}.member-main .member-major{font-size:8px}.member-card .avatar{margin-bottom:3px}.form-grid.two{grid-template-columns:1fr}.card-gender{right:6px}.new-tag{top:30px}.online-indicator{right:6px;top:8px}}

/* Public fixture guard: unavailable is preferable to a fake signed-in member. */
.availability-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#061725e6,#0b2539d9),url('skyline.jpg') center/cover}
.availability-card{max-width:470px;width:100%;background:#f7fcff;border:1px solid #c5dce5;border-radius:24px;padding:42px 30px;text-align:center;box-shadow:0 24px 80px #0004}
.availability-card .brand-symbol{display:inline-block;margin-bottom:16px}
.availability-card h1{font-size:25px;margin:0 0 22px}.availability-card h2{font-size:19px;margin:0 0 12px}.availability-card p{line-height:1.8;color:#52687a;margin:0}
/* V4: stable card actions, stronger male/background separation and real recorder UI. */
.member-card.male{background:linear-gradient(145deg,#71b6d3 0%,#4c91b4 56%,#367897 100%);border-color:#9bd1e5;color:#061e30}
.member-card.male .member-name,.member-card.male .card-name,.member-card.male .card-major,.member-card.male .card-location,.member-card.male .card-username{color:#061e30}
.member-card.male .avatar{background:#ffffff42;border-color:#e5f5ff9c;color:#09283c}
.member-card.male .bookmark,.member-card.male .card-gender{color:#092d44}
.member-card.male .nationality-tag,.member-card.male .nationality-badge{background:#ecf8ffb8;color:#123b50;border-color:#b9e0ed}
.member-card.request-card .member-main{padding-bottom:42px!important}
.request-actions{position:absolute;bottom:7px;inset-inline:7px;display:flex!important;gap:5px;align-items:stretch;height:32px!important;z-index:4}
.request-actions button{min-width:0;height:32px!important;min-height:32px;line-height:1.2!important;font-size:11px!important;display:flex;align-items:center;justify-content:center;white-space:nowrap!important;padding:4px 6px!important;border-radius:9px;overflow:visible!important}
.request-actions .accept{flex:1 1 auto}.request-actions .reject{flex:0 0 30px;width:30px;padding:4px!important}
.request-actions .cancel-request{width:100%;flex:1}.request-actions button span{white-space:nowrap;line-height:1.2!important}
.request-more{position:absolute;inset-inline-end:7px;top:40px;z-index:5;width:26px;height:25px;padding:3px;display:grid;place-items:center;border-radius:8px;border:1px solid #ffffff65;background:#092a3e45;color:white}
.member-card.male .request-more{color:#0a2f44;background:#ffffff55;border-color:#d5f4ff}
.request-actions .accept svg{width:13px;height:13px;flex:none}
.voice-box{min-width:0}.voice-meter{margin:15px 0;display:flex;align-items:center;justify-content:space-between;padding:18px;border:1px solid #c8dfe8;border-radius:16px;background:#eef8fb}
.voice-time{font-size:28px;direction:ltr;font-variant-numeric:tabular-nums;font-weight:700;color:#103a50}
.voice-status{font-size:14px}.voice-controls{display:flex;gap:8px;flex-wrap:wrap}.voice-controls .btn{min-height:40px}
.voice-preview audio{width:100%;margin-block:12px}.voice-limit{font-size:12px;color:#526d7d;line-height:1.8}
.voice-indicator{width:12px;height:12px;background:#d72d52;border-radius:50%;display:inline-block;margin-inline-end:8px}
.voice-box[data-state=recording] .voice-indicator{animation:voice-pulse 1.2s infinite}
.voice-box[data-state=paused] .voice-indicator{background:#a56a07;animation:none}
@keyframes voice-pulse{50%{opacity:.35}}
.delivery{display:inline-flex;align-items:center;gap:3px}.delivery svg{width:15px;height:15px}.delivery.read{color:#9beffc}.message-bubble.them .delivery.read{color:#006888}
.retry-message{background:transparent;border:0;color:inherit;font-size:11px;text-decoration:underline;padding:2px 4px}
.message-bubble audio{display:block;width:min(260px,100%);max-width:100%;min-width:0;margin-block:6px}.message-body{overflow-wrap:anywhere}
.older-messages{margin:4px auto 12px;display:block;border:1px solid #dae8ee;background:#fff;border-radius:10px;padding:7px 14px;font-size:12px}
.live-note{font-size:12px;color:#557387;line-height:1.7}.service-note{line-height:1.8}
.logged-out .workspace{display:grid;place-items:center;padding:20px}.logged-out .sidebar,.logged-out .inspector{display:none!important}
.logged-out .topnav,.logged-out .account-copy,.logged-out .user-actions{visibility:hidden}
.welcome-card{width:min(460px,100%);background:#f7fcff;border:1px solid #aacddc;border-radius:23px;padding:32px;text-align:center;color:#153348;box-shadow:0 20px 65px #0003}
.welcome-card h1{font-size:25px}.welcome-card p{line-height:1.8;color:#557180}.welcome-card .actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.form-errors{padding:10px 12px;border:1px solid #efbfd0;background:#fff3f6;color:#872840;border-radius:10px;font-size:13px;line-height:1.75;margin-block:10px}
.form-note button{vertical-align:baseline}.auth-links{flex-wrap:wrap}.auth-terms{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.8}.auth-terms input{width:18px;height:18px;margin-top:3px;flex:none}.auth-terms a,.auth-terms button{color:#006882;text-decoration:underline;background:none;border:0;padding:0}
button:disabled{cursor:wait;opacity:.63}button[data-retry-until]{cursor:not-allowed}
@media(max-width:700px){.request-actions button{font-size:11px!important}.voice-meter{padding:12px}.voice-controls .btn{flex:1;min-width:85px}.voice-time{font-size:24px}}
@media(prefers-reduced-motion:reduce){.voice-box[data-state=recording] .voice-indicator{animation:none}}

.member-card.male .member-place,.member-card.male .member-major,.member-card.male .member-university{color:#092c40}
.member-card.male .member-nationality{background:#e4f5ffd9;color:#073b55;border-color:#d6f1fc}
.request-card .member-main{padding-bottom:41px!important}.request-card .member-major,.request-card .member-university{display:none!important}
.request-more{position:absolute;inset-inline-end:7px;top:40px;z-index:5;width:26px;height:25px;padding:3px;display:grid;place-items:center;border-radius:8px;border:1px solid #ffffff65;background:#092a3e45;color:white}
.logged-out .primary-nav,.logged-out .top-actions,.logged-out .stagebar,.logged-out .chat-launcher{display:none!important}.logged-out .workspace{grid-template-columns:1fr!important}.logged-out .activity-rail,.logged-out .inspector{display:none!important}.logged-out .catalog{max-width:500px;width:100%;margin:auto;background:transparent;border:none;box-shadow:none}
.bubble audio{max-width:100%;width:min(240px,100%);height:40px}.bubble .voice-message{min-width:min(220px,60vw);max-width:100%}.bubble .message-meta{gap:7px}

/* 4.1: explicit guest rows; hidden stagebar must not move footer onto the login panel. */
.logged-out .app-shell{grid-template-rows:62px minmax(0,1fr) 34px}
.logged-out .topbar{grid-row:1}.logged-out .workspace{grid-row:2;min-height:0;overflow:auto}.logged-out .footer{grid-row:3;min-height:34px}
.logged-out .catalog{min-height:0;overflow:visible;max-width:480px;align-self:center}
.welcome-panel{margin:12px auto;padding:34px 24px;max-width:460px;border:1px solid #ffffff2a;border-radius:22px;background:#0c293ddd;box-shadow:0 20px 55px #00162655;color:#f4faff;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.welcome-panel h1{font-size:27px;line-height:1.4;margin:0}.welcome-panel p{margin:0}.welcome-panel .btn.text{color:#ccdee9}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.welcome-panel .brand-symbol{margin:8px}
.logged-out .footer{z-index:1}.logged-out .topbar{grid-template-columns:1fr}.logged-out .brand{justify-self:center}
.member-card.male{border:1.5px solid #194963}.member-card.female{border:1.5px solid #59263e}
.member-card.male:hover{border-color:#0d364e}.member-card.female:hover{border-color:#47172c}
.member-card.selected{border-color:#28cad0!important;box-shadow:0 0 0 2px #45c8cf66}
.request-card .member-main{height:calc(100% - 38px)!important;padding-bottom:2px!important}
.request-card .request-actions{background:none;bottom:7px;inset-inline:8px;height:26px!important;padding:0!important;gap:5px;align-items:stretch}
.request-card .request-actions button{font-size:9.5px!important;line-height:1!important;height:26px!important;min-height:26px;min-width:0;white-space:nowrap!important;overflow:hidden!important;gap:3px;padding:0 5px!important;border-radius:7px;box-shadow:none;flex:none}
.request-card .request-actions .accept{flex:1 1 0!important;font-weight:700}
.request-card .request-actions .reject{width:25px;flex:0 0 25px!important}
.request-card .request-actions svg{width:11px!important;height:11px!important;flex:0 0 11px}
.request-card .request-more{width:23px;height:23px;border-radius:7px;left:6px;top:6px}
.request-card .request-more svg{width:14px;height:14px}
.composer input{min-width:0}.composer[hidden]{display:none!important}
.voice-inline{flex:none;background:#f8fbfc;border-top:1px solid #dce9ee;padding:10px 12px;display:flex;flex-direction:column;gap:7px;color:#17374a;min-width:0}
.voice-inline-head{display:flex;align-items:center;gap:7px;font-size:11px}.voice-inline-head strong{font-size:11px;flex:1;min-width:0}.voice-inline-head time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}
.voice-rec-dot{width:7px;height:7px;border-radius:50%;background:#cd405d;flex:none}.voice-inline[data-state=recording] .voice-rec-dot{animation:record-pulse 1.2s infinite}
.voice-inline[data-state=paused] .voice-rec-dot{background:#a78528;animation:none}.voice-inline[data-state=ready] .voice-rec-dot{background:#0c9294}
.voice-strip{height:26px;display:flex;gap:3px;align-items:center;overflow:hidden;direction:ltr}.voice-strip i{display:block;flex:1;height:5px;min-width:2px;max-height:25px;border-radius:3px;background:#46a1b2;transition:height .1s linear}
.voice-controls-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.voice-controls-inline .btn{height:30px;min-height:30px;padding:0 9px;font-size:10.5px;white-space:nowrap;line-height:1;gap:4px}.voice-controls-inline .btn svg{height:13px;width:13px}.voice-controls-inline .btn.primary{margin-inline-start:auto}
.voice-preview-row{display:flex;align-items:center;gap:9px;min-width:0}.voice-preview-row input{flex:1;min-width:0;accent-color:#158a98;padding:0;border:0}.voice-preview-row time{font-size:10px;min-width:32px;font-variant-numeric:tabular-nums}.voice-preview-row .icon-button{width:29px;height:29px}
.voice-inline audio{display:none}.voice-inline .voice-hint{font-size:10px;color:#496d7e}.voice-message{min-width:0;width:min(290px,100%)}.voice-message audio{width:100%;max-width:100%;min-width:0;height:36px}.bubble{min-width:0;overflow-wrap:anywhere}.voice-message small{font-size:10px}
@keyframes record-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.voice-rec-dot{animation:none!important}.voice-strip i{transition:none}}
@media(max-width:760px){.logged-out .app-shell{grid-template-rows:64px minmax(0,1fr) 34px}.logged-out .workspace{padding:12px}.welcome-panel{padding:24px 18px}.voice-inline{padding:8px}.voice-controls-inline .btn{padding:0 7px;font-size:10px}.voice-message{width:225px;max-width:100%}.bubble{max-width:88%}}

.btn.wide{width:100%;margin-top:12px}.modal form>.field{margin-bottom:10px}.terms-accept{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;margin:14px 0 8px}.terms-accept input{flex:none}.modal form .form-grid{gap:10px}
/* Request menu and bookmark must not share the same hit target. Saving remains in inspector. */
.request-card>.bookmark{display:none}
/* Dock launcher lives in the footer reserve, not on top of the profile report button. */
.chat-launcher{bottom:4px;left:18px;height:26px;padding:3px 10px;font-size:10px;border-radius:8px}.chat-launcher svg{width:12px;height:12px}.footer-note{visibility:hidden}
@media(max-width:760px){.chat-launcher{display:none!important}}


/* V5 visual and request-card fixes */
.member-card.female{border-color:#9b5d7c}.member-card.male{border-color:#5b9dc0}
.member-card.female:hover{border-color:#8b486a}.member-card.male:hover{border-color:#3f84a8}
.member-card::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.request-card .member-main{height:100%!important;padding:7px 8px 40px!important;justify-content:flex-start}
.request-card .avatar{width:24px!important;height:24px!important;font-size:11px!important;margin-bottom:2px!important}
.request-card .member-name{font-size:10px!important;line-height:1.15!important;margin-bottom:1px!important}
.request-card .member-nationality{display:inline-flex;align-self:center;max-width:100%;font-size:8px!important;line-height:1.1!important;padding:1px 6px!important;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.18);margin-bottom:2px!important}
.request-card .member-place{font-size:8.5px!important;line-height:1.1!important;margin-top:1px;display:flex!important;align-items:center;justify-content:center;gap:3px;white-space:nowrap;overflow:visible;text-overflow:clip}
.request-card .member-place .residence-flag{display:inline-flex!important;align-items:center;justify-content:center;font-size:10px;min-width:12px}
.request-card .member-major,.request-card .member-university{display:none!important}
.request-card .request-actions{background:none!important;bottom:7px!important;inset-inline:8px!important;height:24px!important;padding:0!important;gap:5px!important;align-items:stretch!important}
.request-card .request-actions button{font-size:9px!important;line-height:1!important;height:24px!important;min-height:24px!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;gap:3px!important;padding:0 7px!important;border-radius:8px!important;box-shadow:none!important;border-width:1px!important}
.request-card .request-actions .accept{flex:1 1 0!important;font-weight:700;background:#eff9f9!important;color:#174b5d!important;border-color:#a8d8df!important}
.request-card .request-actions .reject{width:24px!important;flex:0 0 24px!important;background:#fff6f8!important;color:#8f526c!important;border-color:#e6bfce!important;padding:0!important}
.request-card .request-actions .cancel-request{width:100%!important;flex:1 1 0!important;background:#fff7f8!important;color:#8f526c!important;border-color:#e5becd!important;font-weight:700}
.request-card .request-actions svg{width:10px!important;height:10px!important;flex:0 0 10px!important}
.request-card .request-actions button span{display:block;overflow:hidden;text-overflow:ellipsis}
.request-card .request-more{top:6px!important;inset-inline-start:6px!important;inset-inline-end:auto!important;width:24px!important;height:24px!important;border-radius:8px!important;background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.34)!important;color:#fff!important}
.member-place,.member-university,.member-major,.member-nationality{position:relative;z-index:2}
.catalog.requests .member-grid,.catalog.likes .member-grid,.catalog.visitors .member-grid{align-content:start}

/* V6 final visual pass: light blended workspace + explicit request-card layout */
:root{
 --male:#3f86ad;
 --female:#8b4564;
 --male-border:#2f6f93;
 --female-border:#6e314d;
}
body{
 background:#eaf5fb;
 color:var(--text);
}
body::before{
 background:
  linear-gradient(120deg,rgba(221,241,252,.94) 0%,rgba(238,248,252,.92) 52%,rgba(248,232,240,.92) 100%),
  url('skyline.jpg') center/cover no-repeat;
 filter:saturate(.78);
}
.stagebar{
 color:#496c7c;
 background:rgba(255,255,255,.48);
 border-bottom:1px solid rgba(122,174,196,.18);
}
.stage-hint,.demo-label{color:#577a89!important}
.footer{
 color:#5f7b8a;
 background:rgba(255,255,255,.78);
 border-top:1px solid #cfe0e8;
 backdrop-filter:blur(14px);
}
.footer a:hover,.footer button:hover{color:#184f67}
.footer-note{color:#6a8795}
.workspace{position:relative}
.panel{border-color:#cddfe7;box-shadow:0 10px 30px rgba(45,94,120,.10)}
.catalog{
 background:linear-gradient(145deg,rgba(239,249,254,.92),rgba(255,249,252,.94));
 border-color:#bcd7e3;
 backdrop-filter:blur(16px);
}
.catalog-toolbar{
 background:
   linear-gradient(100deg,rgba(237,249,255,.94),rgba(255,243,249,.88)),
   url('skyline.jpg') center/cover;
 color:#17384b;
 border-bottom:1px solid #c6dde7;
}
.catalog-title h1{color:#12384b!important}
.catalog-title .count{color:#6e8997!important}
.catalog-toolbar .search-field{background:#fff;border-color:#bfd6e0;box-shadow:0 3px 10px rgba(45,94,120,.05)}
.catalog-toolbar .search-field input{color:#17384b}
.catalog-toolbar .search-field svg{color:#68899a}
.catalog-toolbar .chip{background:rgba(255,255,255,.78);border-color:#c9dce5;color:#4f6d7c}
.catalog-toolbar .chip.active{background:#143f55;color:#fff;border-color:#143f55}
.catalog-toolbar .chip[data-filter=female].active{background:#8b4564;color:#fff;border-color:#6e314d}
.catalog-toolbar .chip[data-filter=male].active{background:#4d91b4;color:#08283b;border-color:#2f6f93}
.catalog-toolbar .segmented{background:rgba(222,240,248,.82);border:1px solid #c6dfe8}
.catalog-toolbar .segmented button{color:#557383}
.catalog-toolbar .segmented button.active{background:#fff;color:#17485c;box-shadow:0 2px 8px rgba(45,94,120,.08)}
.catalog-toolbar .icon-button{background:#fff;color:#365c6e;border-color:#c9dce5}
.member-viewport{
 background:linear-gradient(135deg,#dff3fb 0%,#edf8fd 48%,#f7e7ef 100%);
 scrollbar-color:#aacbd8 transparent;
}
.member-grid{padding-block:1px}
.member-card{
 border:2px solid var(--female-border)!important;
 box-shadow:0 5px 14px rgba(38,78,102,.10)!important;
 border-radius:13px;
}
.member-card.female{
 background:linear-gradient(145deg,#b36d88 0%,#9a5571 48%,#81415d 100%)!important;
 border-color:var(--female-border)!important;
 color:#fff;
}
.member-card.male{
 background:linear-gradient(145deg,#83c4df 0%,#64a8c8 50%,#4b8eaf 100%)!important;
 border-color:var(--male-border)!important;
 color:#08283b!important;
}
.member-card.female:hover{border-color:#552239!important;box-shadow:0 8px 20px rgba(91,38,61,.18)!important}
.member-card.male:hover{border-color:#215a79!important;box-shadow:0 8px 20px rgba(38,104,139,.18)!important}
.member-card.selected{border-color:#19b8c3!important;box-shadow:0 0 0 3px rgba(44,203,211,.28),0 8px 22px rgba(38,104,139,.15)!important}
.member-card::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.member-card.male .member-years,.member-card.male .member-place,.member-card.male .member-major,.member-card.male .member-university{color:#0a3248!important}
.member-card.female .member-years,.member-card.female .member-place,.member-card.female .member-major,.member-card.female .member-university{color:#f9edf3!important}
.member-card.male .member-nationality{background:#edf9ffd9!important;color:#0a3a54!important;border-color:#d4eff9!important}
.member-card.female .member-nationality{background:#ffffff18!important;color:#fff!important;border-color:#ffffff36!important}
.member-card.male .avatar{background:#ffffff55!important;color:#0a3249!important;border-color:#e1f5ff!important}
.member-card.female .avatar{background:#ffffff18!important;color:#fff!important;border-color:#ffffff4a!important}
.member-card.male .bookmark,.member-card.male .card-gender{color:#0a3248!important}
.member-card.female .bookmark,.member-card.female .card-gender{color:#fff!important}
.member-card.male .bookmark{background:#ffffff44!important;border-color:#e5f6ff!important}
.member-card.female .bookmark{background:#ffffff16!important;border-color:#ffffff48!important}
.pager{color:#4e6e7e;background:rgba(255,255,255,.86);border-color:#c7dfe8}
.pager-summary,.pager-size{color:#668493}
.page-buttons button{background:#fff;color:#486b7b;border-color:#c8dce5}
.page-buttons button.current{background:#1fb6be;color:#fff;border-color:#1fb6be}
.catalog .empty-state{color:#688392}.catalog .empty-state h3{color:#20485c}.catalog .empty-state svg{color:#76a9b8}

/* Request cards: reserve content and action areas so location flags never disappear. */
.request-card{overflow:hidden!important}
.request-card>.bookmark{display:none!important}
.request-card .request-main{
 height:100%!important;
 padding:6px 7px 34px!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
 justify-content:flex-start!important;
 text-align:center!important;
 gap:1px!important;
 overflow:hidden!important;
}
.request-card .avatar{width:23px!important;height:23px!important;font-size:10px!important;margin:0 0 1px!important;flex:0 0 23px!important}
.request-card .member-name{font-size:10px!important;line-height:1.1!important;margin:0 0 1px!important;min-height:12px;justify-content:center!important}
.request-card .member-name b{max-width:78%!important}
.request-card .member-years{font-size:8.5px!important}
.request-card .member-nationality{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 max-width:92%!important;
 min-height:15px!important;
 font-size:8px!important;
 line-height:1!important;
 padding:2px 7px!important;
 margin:0 0 2px!important;
 flex:0 0 auto!important;
}
.request-residence{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:4px!important;
 max-width:94%!important;
 min-height:14px!important;
 font-size:8.5px!important;
 line-height:1.1!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
 flex:0 0 auto!important;
 position:relative;z-index:3;
}
.member-card.female .request-residence{color:#fff!important}
.member-card.male .request-residence{color:#092f45!important}
.request-residence .residence-flag{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 font-size:11px!important;
 line-height:1!important;
 min-width:15px!important;
 flex:0 0 15px!important;
 overflow:visible!important;
 filter:none!important;
}
.request-card .card-gender{top:8px!important;right:7px!important}
.request-card .online-indicator{top:8px!important;right:22px!important}
.request-card .request-more{
 position:absolute!important;
 left:6px!important;right:auto!important;top:6px!important;
 width:24px!important;height:24px!important;
 padding:0!important;
 display:grid!important;place-items:center!important;
 border-radius:8px!important;
 border:1px solid rgba(255,255,255,.48)!important;
 background:rgba(255,255,255,.16)!important;
 color:#fff!important;
 z-index:7!important;
}
.request-card.male .request-more{background:rgba(255,255,255,.45)!important;color:#0b3248!important;border-color:#e4f6ff!important}
.request-card .request-actions{
 position:absolute!important;
 bottom:6px!important;left:7px!important;right:7px!important;
 height:24px!important;
 padding:0!important;
 display:flex!important;
 gap:5px!important;
 align-items:stretch!important;
 background:transparent!important;
 z-index:7!important;
}
.request-card .request-actions button{
 height:24px!important;min-height:24px!important;
 min-width:0!important;
 padding:0 7px!important;
 border-radius:7px!important;
 font-size:9px!important;
 font-weight:700!important;
 line-height:1!important;
 white-space:nowrap!important;
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:3px!important;
 overflow:hidden!important;
}
.request-card .request-actions .accept{
 flex:1 1 0!important;
 background:#f0fbfb!important;
 color:#174d5e!important;
 border:1px solid #a9d8df!important;
}
.request-card .request-actions .reject{
 flex:0 0 24px!important;width:24px!important;padding:0!important;
 background:#fff5f8!important;color:#8b526a!important;border:1px solid #e2bdcb!important;
}
.request-card .request-actions .cancel-request{
 width:100%!important;flex:1 1 auto!important;
 background:#fff6f8!important;color:#82465e!important;border:1px solid #dfb8c7!important;
}
.request-card .request-actions svg{width:10px!important;height:10px!important;flex:none!important}
.request-card .request-actions button span{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

@media(max-width:760px){
 body::before{background:linear-gradient(150deg,rgba(226,244,253,.97),rgba(249,234,242,.96)),url('skyline.jpg') center/cover no-repeat}
 .stagebar{background:rgba(255,255,255,.7)}
 .request-card .request-actions button{font-size:8.5px!important}
 .request-card .request-main{padding-bottom:33px!important}
}
.member-viewport{padding-top:10px!important;padding-bottom:7px!important}

/* V7 guest browsing parity */
.guest-top-actions{display:flex;align-items:center;gap:7px}.guest-top-login,.guest-top-register{min-height:34px;padding:6px 12px;border-radius:9px;font-size:11px;font-weight:800;border:1px solid #ffffff2b}.guest-top-login{background:#ffffff0d;color:#e8f3f7}.guest-top-register{background:#eafafa;color:#0b4253;border-color:#eafafa}.member-top-actions{display:flex;align-items:center;gap:13px}
.logged-out.guest-browsing .app-shell{grid-template-rows:62px 40px minmax(0,1fr) 34px}.logged-out.guest-browsing .topbar{grid-row:1;grid-template-columns:auto minmax(0,1fr) auto}.logged-out.guest-browsing .brand{justify-self:auto}.logged-out.guest-browsing .primary-nav{display:flex!important}.logged-out.guest-browsing .top-actions{display:flex!important}.logged-out.guest-browsing .stagebar{display:flex!important}.logged-out.guest-browsing .workspace{display:grid!important;place-items:stretch!important;grid-template-columns:238px minmax(0,1fr) 272px!important;gap:14px!important;padding:0 20px 14px!important;max-width:1740px!important;width:100%!important;margin:0 auto!important;overflow:hidden!important}.logged-out.guest-browsing .activity-rail,.logged-out.guest-browsing .inspector{display:flex!important}.logged-out.guest-browsing .catalog{max-width:none!important;width:auto!important;margin:0!important;background:linear-gradient(180deg,#edf8ff 0%,#f7fbff 28%,#fff8fb 100%)!important;border:1px solid #ffffff8c!important;box-shadow:var(--shadow)!important;overflow:hidden!important;align-self:stretch!important}.guest-workspace .activity-rail{background:#fff}.guest-workspace .catalog{display:flex;flex-direction:column}.guest-rail-copy{font-size:11px;line-height:1.8;color:#718894;margin:0}.guest-rail-auth{padding:12px 13px;background:#f7fbfc;border-top:1px solid var(--line);display:grid;gap:7px;margin-top:auto}.guest-page-number{display:flex;align-items:center;padding:0 8px;font-size:10px;color:#6f8491}.guest-loading{grid-column:1/-1;display:grid;place-items:center;min-height:160px;color:#718894;font-size:12px}.guest-mobile-inspector{width:min(420px,86vw)}.guest-login-required p{margin:0 0 14px;font-size:14px}.photo-lightbox{display:grid;place-items:center;max-height:76vh;overflow:auto}.photo-lightbox img{max-width:min(760px,90vw);max-height:72vh;border-radius:14px;object-fit:contain}
@media(max-width:1100px){.logged-out.guest-browsing .workspace{grid-template-columns:200px minmax(0,1fr)!important}.logged-out.guest-browsing .inspector{display:none!important}}
@media(max-width:760px){.logged-out.guest-browsing .app-shell{grid-template-rows:104px 29px minmax(0,1fr) 34px}.logged-out.guest-browsing .topbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:55px 49px}.logged-out.guest-browsing .primary-nav{display:flex!important;grid-column:1/-1;grid-row:2}.logged-out.guest-browsing .top-actions{display:flex!important;grid-row:1;grid-column:2}.logged-out.guest-browsing .stagebar{display:flex!important}.logged-out.guest-browsing .workspace{display:flex!important;padding:0 9px 9px!important}.logged-out.guest-browsing .activity-rail{display:none!important}.logged-out.guest-browsing .catalog{flex:1!important}.guest-top-actions{gap:4px}.guest-top-login,.guest-top-register{padding:5px 8px;font-size:9px;min-height:30px}.guest-top-register{display:none}}
@media(max-width:850px){.guest-grid{grid-template-columns:repeat(3,minmax(110px,1fr))}.guest-header{align-items:flex-start}.guest-tools{flex-wrap:wrap}.guest-tools #guestCount{margin-inline-start:0}.guest-catalog-workspace{padding:8px!important}}
@media(max-width:520px){.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px;gap:8px}.guest-header{display:grid}.guest-auth-actions{justify-content:flex-start}.guest-tools{display:grid}.guest-search{width:100%}.guest-filters{overflow:auto}}
/* Parity V7 registration feedback */
.availability,.password-strength{min-height:14px;display:block;line-height:1.4}
.availability[data-state="available"],.password-strength[data-state="available"]{color:#11806f}
.availability[data-state="pending"],.availability[data-state="checking"],.password-strength[data-state="checking"]{color:#8b6a22}
.availability[data-state="taken"],.availability[data-state="invalid"],.password-strength[data-state="invalid"]{color:#b23b59}

/* Parity V7: in-thread search and message actions */
.thread-filter{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 10px;background:#eef8fa;border-bottom:1px solid #dcebef;color:#3f6575;font-size:10px;flex:none}
.thread-filter button{border:0;background:transparent;color:#0a7f86;font-weight:700;font-size:10px}
.message-tools{display:flex;gap:5px;margin-top:5px;opacity:.72;transition:opacity .15s}
.bubble:hover .message-tools,.bubble:focus-within .message-tools{opacity:1}
.message-tools button{border:0;background:transparent;padding:1px 3px;color:inherit;font-size:9px;text-decoration:underline;text-underline-offset:2px}
.bubble:not(.mine) .message-tools button{color:#607887}
@media(max-width:700px){.message-tools{opacity:1}.message-tools button{font-size:10px;padding:2px 4px}}

/* Parity V7: help/legal surfaces and recommendation chip */
.help-center,.community-guidelines,.legal-hub{display:grid;gap:10px}
.faq{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.faq summary{cursor:pointer;font-weight:800;font-size:12px;padding:11px 13px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:'+';display:inline-grid;place-items:center;width:20px;height:20px;margin-left:7px;border-radius:6px;background:#eef6f8;color:#2b6477;font-weight:800}
.faq[open] summary::before{content:'−'}
.faq p{margin:0;padding:0 13px 12px;color:var(--muted);font-size:11px;line-height:1.9}

/* V7.2 PWA install + push */
.pwa-install-banner{position:fixed;inset-inline:18px;top:72px;z-index:80;max-width:680px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #b9dce7;background:#f9fdffed;backdrop-filter:blur(14px);border-radius:16px;box-shadow:0 18px 50px #06273a2b;color:#16384a}.pwa-install-icon img{width:44px;height:44px;border-radius:12px;display:block}.pwa-install-copy{display:grid;gap:2px}.pwa-install-copy b{font-size:13px}.pwa-install-copy small{font-size:10px;color:#64808d}.pwa-install-actions{display:flex;gap:6px;align-items:center}.pwa-backdrop{position:fixed;inset:0;background:#06172588;backdrop-filter:blur(4px);z-index:120}.pwa-sheet{position:fixed;z-index:121;inset-inline:16px;bottom:18px;max-width:520px;margin:auto;background:white;border:1px solid #dce9ef;border-radius:20px;padding:20px;box-shadow:0 22px 70px #00111f4d;color:#17384b}.pwa-sheet h2{margin:0 0 10px;font-size:19px}.pwa-sheet p,.pwa-sheet li{font-size:12px;line-height:1.9;color:#506c7a}.pwa-close{position:absolute;inset-inline-end:12px;top:10px;border:0;background:#f0f6f8;width:30px;height:30px;border-radius:9px;font-size:20px;color:#506c7a}.pwa-steps{margin:8px 0;padding-inline-start:22px}.pwa-settings-card{margin-top:14px;padding:14px;border:1px solid #cfe5ec;background:linear-gradient(135deg,#f4fbff,#fff8fb);border-radius:14px}.pwa-settings-card h3{margin:0 0 4px;font-size:15px}.pwa-settings-card p{margin:0 0 10px;font-size:11px;line-height:1.7;color:#66818f}
@media(max-width:700px){.pwa-install-banner{grid-template-columns:auto 1fr;top:102px;bottom:auto;inset-inline:10px}.pwa-install-actions{grid-column:1/-1;justify-content:flex-end}.pwa-install-copy b{font-size:12px}.pwa-install-copy small{font-size:9px}}

.notification-system{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:0 0 42px;background:var(--surface-soft,#eef6f7);border:1px solid var(--line,#d9e4e8);color:var(--navy,#123a52)}
.notification-system svg{width:20px;height:20px}

/* V7.2.7 — guest workspace row-placement regression fix.
   The generic logged-out shell puts workspace/footer in rows 2/3 because the old login page had no stagebar.
   Guest browsing restores the full member shell, so explicitly restore all four grid rows. */
.logged-out.guest-browsing .topbar{grid-row:1!important}
.logged-out.guest-browsing .stagebar{grid-row:2!important;min-height:40px}
.logged-out.guest-browsing .workspace{grid-row:3!important;min-height:0!important;height:auto!important;align-self:stretch!important}
.logged-out.guest-browsing .footer{grid-row:4!important;min-height:34px!important}
.logged-out.guest-browsing .activity-rail,
.logged-out.guest-browsing .catalog,
.logged-out.guest-browsing .inspector{height:100%;min-height:0}
.logged-out.guest-browsing .catalog{align-self:stretch!important}
.logged-out.guest-browsing .member-viewport{min-height:0;flex:1}


/* V7.2.8 auth/register clarity + validation */
.auth-form{padding-top:18px}
.auth-form .step-note{margin:0 0 14px;font-size:13px;font-weight:800;color:#26495e}
.auth-form .field{gap:7px}
.auth-form .field>span{font-size:13px;font-weight:700;line-height:1.55;color:#496579}
.auth-form .field input,.auth-form .field select,.auth-form .field textarea{font-size:14px;color:#2c4b5f;min-height:48px;border-color:#d5e4ec;background:#fff}
.auth-form .field textarea{min-height:112px;line-height:1.8}
.auth-form .field input::placeholder,.auth-form .field textarea::placeholder{color:#9aadb9;opacity:1}
.auth-form .field small{font-size:10.5px;line-height:1.6}
.auth-form .form-grid{gap:14px 16px}
.auth-form .terms-accept{font-size:12px;line-height:1.8}
.auth-contact-note{margin:10px 0 4px!important;padding:10px 12px;border:1px solid #d9e8ee;background:#f6fafc;border-radius:9px;color:#637d8d!important;font-size:11px!important;line-height:1.8!important}
.auth-bio-grid{align-items:start}
.city-field [data-city-note]{color:#6f8795}
[data-form="auth-login"]>.field:first-child,[data-form="auth-restore"]>.field:first-child{margin-top:2px!important}
[data-form="auth-login"]>.field,[data-form="auth-restore"]>.field{margin-bottom:14px!important}
@media(max-width:760px){
 .auth-form{padding-top:14px}
 .auth-form .field>span{font-size:12.5px}
 .auth-form .field input,.auth-form .field select,.auth-form .field textarea{font-size:13.5px;min-height:46px}
}


/* V7.2.9 — auth/settings readability + explicit profile completion */
.auth-verify-form{padding-top:22px}
.auth-form .subtle{font-size:12px;line-height:1.85;color:#627d8d}
.auth-form .field>span{font-size:14px;font-weight:800;color:#38576a}
.auth-form .field input,.auth-form .field select,.auth-form .field textarea{font-size:14.5px;color:#24465b}
.settings-nav h2{font-size:18px;color:#1a3b50;margin-bottom:14px}
.settings-nav a{font-size:13.5px;font-weight:600;line-height:1.55;padding:11px 10px}
.settings-nav a.active{font-weight:800}
.settings-header{padding:20px 24px}
.settings-header h1{font-size:24px;color:#17384b}
.settings-header p{font-size:13px;line-height:1.7;color:#708895}
.settings-scroll{font-size:13px}
.settings-scroll p,.settings-scroll li{font-size:13px;line-height:1.9}
.settings-scroll .subtle{font-size:12px;line-height:1.75;color:#718996}
.settings-scroll .profile-data label{font-size:11.5px;color:#8399a5}
.settings-scroll .profile-data b{font-size:13.5px;font-weight:600;color:#36576b;line-height:1.55}
.settings-content .field{font-size:13px;color:#425f72}
.settings-content .field>span{font-weight:700}
.settings-content .field input,.settings-content .field select,.settings-content .field textarea{font-size:14px;min-height:46px;color:#294b5e}
.settings-content .field small{font-size:11px;line-height:1.65}
.settings-hero{padding:20px 22px;margin-bottom:16px}
.settings-hero b{font-size:19px}
.settings-hero small{font-size:12.5px;line-height:1.6}
.settings-hero .btn{color:#17384b!important;background:#fff!important;border-color:#d6e5ec!important;font-size:13px;font-weight:800;box-shadow:0 2px 9px #00152514}
.settings-quick b{font-size:14px;color:#1b4055}
.settings-quick small{font-size:11.5px;line-height:1.6}
.settings-quick svg{width:18px;height:18px}
.settings-scroll .btn{font-size:12.5px}
.membership-card h2{font-size:20px;color:#1b4055}
.membership-card>p{font-size:13.5px!important;line-height:1.9!important;color:#587586!important}
.status-card h3{font-size:16px}.status-card p{font-size:12.5px;line-height:1.8}
.settings-profile-grid{margin-top:4px}
.profile-completion-card{border:1px solid #cfe3ea;background:linear-gradient(135deg,#f4fbfd,#fff);border-radius:13px;padding:15px 16px;margin:0 0 18px;color:#24485c}
.profile-completion-card.incomplete{border-color:#e9d9a9;background:linear-gradient(135deg,#fffaf0,#fff)}
.profile-completion-card.complete{border-color:#bfe3d8;background:linear-gradient(135deg,#f2fcf8,#fff)}
.profile-completion-card.compact{margin-bottom:22px}
.profile-completion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.profile-completion-head b{font-size:15px;color:#173d52;display:block;margin-bottom:3px}
.profile-completion-head p{font-size:12px!important;line-height:1.7!important;color:#688391!important;margin:0!important}
.profile-completion-head strong{font-size:20px;color:#0c858b;white-space:nowrap}
.profile-completion-line{height:6px;background:#e4eef2;border-radius:8px;overflow:hidden;margin:12px 0}
.profile-completion-line span{display:block;height:100%;border-radius:8px;background:#129a9d}
.profile-missing-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.profile-missing-list span{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #e2e9cd;background:#fffef6;border-radius:8px;font-size:11.5px;color:#675f43;line-height:1.4}
.profile-missing-list svg{width:13px;height:13px;color:#b2902d}
.profile-completion-action{margin-top:12px}
.profile-complete-note{display:flex;align-items:center;gap:6px;font-size:12px;color:#24745f}
.profile-complete-note svg{width:15px;height:15px}
.profile-incomplete-dialog>p{font-size:13px!important;color:#4e6c7b!important;margin-top:0!important}
@media(max-width:760px){.settings-nav a{font-size:11px}.settings-header h1{font-size:20px}.settings-header p{font-size:11.5px}.settings-scroll{font-size:12.5px}.settings-scroll .profile-data b{font-size:12.5px}.profile-completion-head b{font-size:14px}.profile-missing-list span{font-size:11px}.auth-form .field>span{font-size:13.5px}}


/* V7.2.11 — header alignment + settings rail visibility */
.topbar .brand{
  padding-top:4px;
  align-self:stretch;
  display:flex;
  align-items:center;
}
.brand-copy{display:flex;align-items:center;min-height:100%}
.brand-copy strong{margin:0;line-height:1.2}
.stagebar #breadcrumb{font-weight:600;color:#496c7c}

/* Keep the full settings menu reachable at every desktop height. */
.settings-workspace .activity-rail{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:#cfdee6 transparent;
}
.settings-workspace .settings-nav{
  min-height:max-content;
  padding-bottom:22px;
}
.settings-workspace .settings-nav a{
  flex:none;
}

/* The compact chat launcher had slipped under the footer. */
.chat-launcher{
  bottom:36px;
}

/* Slightly tighten tall settings navigation without shrinking readability. */
@media (max-height:860px) and (min-width:761px){
  .settings-nav{padding-top:8px;gap:2px}
  .settings-nav h2{margin-top:2px;margin-bottom:9px}
  .settings-nav a{padding-top:8px;padding-bottom:8px;font-size:13px}
  .settings-nav .back-discover{margin-top:8px;padding-top:10px}
}

@media(max-width:760px){
  .topbar .brand{padding-top:2px}
  .chat-launcher{bottom:34px}
}
\n\n/* V7.2.12 — compact grouped settings navigation */
.settings-nav{height:100%;box-sizing:border-box}
.settings-nav-main{display:flex;flex-direction:column;gap:3px}
.settings-home-link{margin-bottom:8px;background:#f4f9fb;color:#365b6e!important;font-weight:700!important}
.settings-nav-actions{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:7px}
.settings-nav .settings-nav-action{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;color:#607b8c;font:inherit;font-size:13.5px;font-weight:700;line-height:1.45;text-align:right;cursor:pointer;box-sizing:border-box}
.settings-nav .settings-nav-action svg{width:16px;height:16px}
.settings-nav .settings-logout{color:#9e3857;background:#fff7f9;border-color:#f0d0da}
.settings-nav .settings-delete{color:#b44967;background:#fff;border-color:#f0d7df}
.settings-nav .settings-delete.active{background:#fff1f5;color:#a52f53}
.settings-hub{max-width:850px}
.settings-hub-note{margin:0 0 16px;color:#6f8795;font-size:13px;line-height:1.8}
.settings-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.settings-hub-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);background:#fbfdfe;border-radius:13px;padding:17px;color:#294d60;min-height:92px}
.settings-hub-card>svg:first-child{width:24px;height:24px;color:var(--teal)}
.settings-hub-card>svg:last-child{width:16px;height:16px;color:#93a8b4}
.settings-hub-card b{display:block;font-size:14px;margin-bottom:5px}
.settings-hub-card small{display:block;color:#7d929f;font-size:11.5px;line-height:1.6}
.settings-hub-card:hover{border-color:#bddde0;background:#f5fbfb}
.settings-workspace .settings-nav{min-height:100%;padding-bottom:12px}
@media(max-height:860px) and (min-width:761px){
 .settings-nav h2{margin-bottom:7px}
 .settings-nav a{padding-top:7px;padding-bottom:7px}
 .settings-nav .settings-nav-action{padding:8px 10px;font-size:13px}
 .settings-home-link{margin-bottom:5px}
 .settings-nav-actions{padding-top:8px;gap:5px}
}
@media(max-width:760px){
 .settings-nav-main{display:contents}
 .settings-nav-actions{display:contents;border:0;padding:0;margin:0}
 .settings-nav .settings-nav-action{width:auto;flex:none;padding:7px 10px;font-size:10px;white-space:nowrap}
 .settings-home-link{margin:0!important;display:flex!important}
 .settings-hub-grid{grid-template-columns:1fr}
 .settings-hub-card{min-height:78px;padding:13px}
}


/* V7.2.13 — balanced settings rail + one-screen desktop overview pages */
@media (min-width:761px){
  .settings-workspace .activity-rail{overflow:hidden}
  .settings-workspace .settings-nav{
    height:100%;min-height:0;padding:18px 14px 14px;
    display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;
    overflow:hidden;box-sizing:border-box
  }
  .settings-nav h2{
    margin:9px 8px 4px;font-size:18px;line-height:1.25;color:#183b50
  }
  .settings-home-link{margin:0!important;min-height:42px;padding:8px 10px!important}
  .settings-nav-main{
    min-height:0;display:flex;flex-direction:column;justify-content:space-evenly;
    gap:5px;padding:5px 0 7px
  }
  .settings-nav-main>a{min-height:42px;padding:7px 10px!important}
  .settings-nav-actions{margin-top:0;padding-top:8px;gap:6px}
  .settings-nav .settings-nav-action{min-height:40px;padding:8px 10px;font-size:13px}

  .settings-header{padding:14px 20px 10px}
  .settings-header h1{font-size:22px;margin:2px 0 2px;line-height:1.28}
  .settings-header p{font-size:11.5px;line-height:1.45}
  .settings-scroll{padding:14px 18px 12px}
  #centerPanel.settings-compact-page .settings-scroll{overflow:hidden}

  #centerPanel[data-settings-route="settings"] .settings-hero{
    padding:12px 16px;margin-bottom:9px;min-height:72px
  }
  #centerPanel[data-settings-route="settings"] .settings-hero .avatar.size64{
    width:54px;height:54px;font-size:22px;border-width:3px
  }
  #centerPanel[data-settings-route="settings"] .settings-hero b{font-size:17px}
  #centerPanel[data-settings-route="settings"] .settings-hero small{font-size:10.5px;line-height:1.35}
  #centerPanel[data-settings-route="settings"] .profile-completion-card{
    padding:10px 13px;margin-bottom:9px;border-radius:11px
  }
  #centerPanel[data-settings-route="settings"] .profile-completion-head{gap:10px}
  #centerPanel[data-settings-route="settings"] .profile-completion-head b{font-size:14px;margin-bottom:1px}
  #centerPanel[data-settings-route="settings"] .profile-completion-head p{font-size:11px!important;line-height:1.45!important}
  #centerPanel[data-settings-route="settings"] .profile-completion-head strong{font-size:18px}
  #centerPanel[data-settings-route="settings"] .profile-completion-line{margin:7px 0;height:5px}
  #centerPanel[data-settings-route="settings"] .profile-missing-list{margin-top:5px;gap:5px}
  #centerPanel[data-settings-route="settings"] .profile-missing-list span{padding:5px 7px;font-size:10px}
  #centerPanel[data-settings-route="settings"] .settings-profile-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 22px;margin-top:0
  }
  #centerPanel[data-settings-route="settings"] .settings-profile-grid .profile-data label{
    font-size:10px;margin-bottom:1px
  }
  #centerPanel[data-settings-route="settings"] .settings-profile-grid .profile-data b{
    font-size:12.5px;line-height:1.35
  }
  #centerPanel[data-settings-route="settings"] .settings-quick{
    grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0
  }
  #centerPanel[data-settings-route="settings"] .settings-quick a{
    min-height:66px;padding:9px 11px;gap:3px
  }
  #centerPanel[data-settings-route="settings"] .settings-quick b{font-size:12.5px}
  #centerPanel[data-settings-route="settings"] .settings-quick small{font-size:9.5px}
  #centerPanel[data-settings-route="settings"] .form-section{
    margin-top:9px;padding-top:9px
  }
  #centerPanel[data-settings-route="settings"] .form-section h3{margin-bottom:8px;font-size:12px}
  #centerPanel[data-settings-route="settings"] .form-section .row{gap:7px;flex-wrap:wrap}
  #centerPanel[data-settings-route="settings"] .form-section .btn{min-height:30px;padding:5px 10px;font-size:11px}

  .settings-compact-page .settings-hub-note{margin-bottom:10px;font-size:12px;line-height:1.55}
  .settings-compact-page .settings-hub-grid{gap:9px}
  .settings-compact-page .settings-hub-card{min-height:76px;padding:12px 14px;gap:10px}
  .settings-compact-page .settings-hub-card>svg:first-child{width:21px;height:21px}
  .settings-compact-page .settings-hub-card b{font-size:13px;margin-bottom:3px}
  .settings-compact-page .settings-hub-card small{font-size:10.5px;line-height:1.45}
}

@media (min-width:761px) and (max-height:780px){
  .settings-workspace .settings-nav{padding-top:12px;padding-bottom:10px;gap:5px}
  .settings-nav h2{margin-top:5px;margin-bottom:2px;font-size:17px}
  .settings-home-link{min-height:37px!important}
  .settings-nav-main{gap:2px;padding-block:2px 4px}
  .settings-nav-main>a{min-height:36px!important;padding-block:5px!important;font-size:12.5px!important}
  .settings-nav-actions{padding-top:5px;gap:4px}
  .settings-nav .settings-nav-action{min-height:35px;padding-block:5px;font-size:12px}
  .settings-header{padding:9px 17px 7px}
  .settings-header h1{font-size:20px}
  .settings-header p{font-size:10.5px}
  .settings-scroll{padding:10px 14px 9px}
  #centerPanel[data-settings-route="settings"] .settings-hero{padding:9px 13px;min-height:62px;margin-bottom:7px}
  #centerPanel[data-settings-route="settings"] .settings-hero .avatar.size64{width:48px;height:48px}
  #centerPanel[data-settings-route="settings"] .profile-completion-card{padding:8px 10px;margin-bottom:7px}
  #centerPanel[data-settings-route="settings"] .profile-completion-head p{display:none}
  #centerPanel[data-settings-route="settings"] .profile-completion-line{margin:5px 0}
  #centerPanel[data-settings-route="settings"] .settings-profile-grid{gap:5px 18px}
  #centerPanel[data-settings-route="settings"] .settings-quick{margin:7px 0;gap:6px}
  #centerPanel[data-settings-route="settings"] .settings-quick a{min-height:54px;padding:7px 9px}
  #centerPanel[data-settings-route="settings"] .form-section{margin-top:6px;padding-top:6px}
  #centerPanel[data-settings-route="settings"] .form-section h3{display:none}
  .settings-compact-page .settings-hub-card{min-height:66px;padding:10px 12px}
}

/* Long forms and small screens must remain scrollable so fields are never clipped. */
@media (max-width:760px), (max-height:680px){
  #centerPanel.settings-compact-page .settings-scroll{overflow:auto}
}

/* V7.2.14 — phone-first responsive pass. Keep the desktop workspace unchanged. */
.settings-mobile-jump{display:none}
.guest-profile-note{margin:0 14px 10px;padding:9px 11px;border:1px solid #c9e5e8;border-radius:10px;background:#f1fbfb;color:#557786;font-size:10.5px;line-height:1.7}
.mobile-profile-inspector{display:flex!important;flex-direction:column;box-shadow:none!important;border:0!important;width:100%!important;min-height:0!important;height:auto!important;overflow:visible!important}

@media(max-width:760px){
 html,body{width:100%;max-width:100%;min-height:100%;overflow-x:hidden!important;-webkit-text-size-adjust:100%}
 body{height:auto;overflow-y:auto!important;overscroll-behavior-y:none}
 .app-shell{width:100%;max-width:100vw;height:auto!important;min-height:100dvh;overflow:visible!important;grid-template-rows:auto auto auto auto!important}
 .topbar{padding-top:max(0px,env(safe-area-inset-top));position:relative;z-index:50;max-width:100vw;overflow:hidden}
 .stagebar{max-width:100vw;overflow:hidden}
 .workspace{width:100%;max-width:100vw;min-height:0!important;height:auto!important;overflow:visible!important}
 .workspace:not(.messages-workspace) .catalog,.workspace:not(.messages-workspace) .settings-content{height:auto!important;min-height:0!important;overflow:visible!important}
 .workspace:not(.messages-workspace) .member-viewport,.workspace:not(.messages-workspace) .settings-scroll{height:auto!important;max-height:none!important;overflow:visible!important;-webkit-overflow-scrolling:touch}
 .workspace.messages-workspace{min-height:calc(100dvh - 170px)}
 .footer{min-height:38px;padding-bottom:max(0px,env(safe-area-inset-bottom));flex-wrap:wrap;row-gap:3px}
 .footer nav{flex-wrap:wrap;justify-content:center}

 /* Safari zooms focused controls below 16px. Keep every phone form at 16px. */
 input,select,textarea,.field input,.field select,.field textarea,.auth-form .field input,.auth-form .field select,.auth-form .field textarea{font-size:16px!important}
 .field>span,.auth-form .field>span{font-size:14px!important;font-weight:700;color:#4d6879}
 .field small{font-size:11px}
 .form-grid,.form-grid.two{grid-template-columns:1fr!important}

 /* Native city picker on touch phones; datalist remains on desktop. */
 .city-field select[data-city-input]{appearance:auto;-webkit-appearance:menulist;width:100%;min-height:50px;background:#fbfdfe}

 /* Settings: one compact picker instead of a horizontally scrolling ribbon. */
 .workspace.settings-workspace{display:flex!important;flex-direction:column!important;padding-inline:9px!important}
 .settings-workspace .activity-rail{display:block!important;flex:none!important;margin-bottom:8px!important;overflow:visible!important}
 .settings-nav{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:7px!important;padding:9px!important;overflow:visible!important;height:auto!important}
 .settings-nav h2,.settings-nav-main{display:none!important}
 .settings-mobile-jump{display:block;min-width:0}
 .settings-mobile-jump label{display:block}
 .settings-mobile-jump label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .settings-mobile-jump select{width:100%;min-width:0;height:42px;border:1px solid #d4e4ea;border-radius:10px;background:#fff;padding:7px 10px;color:#1b4e62;font-weight:800;font-size:14px!important}
 .settings-home-link{display:flex!important;margin:0!important;padding:8px 10px!important;min-height:42px!important;white-space:nowrap!important;border:1px solid #d4e4ea;background:#fff!important}
 .settings-nav-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important;padding:0!important;margin:0!important;border:0!important}
 .settings-nav .settings-nav-action{width:100%!important;min-height:38px!important;padding:7px 9px!important;font-size:12px!important;justify-content:center}
 .settings-header{padding:15px 16px 13px!important}
 .settings-header h1{font-size:21px!important;margin-bottom:4px!important}
 .settings-scroll{padding:14px 12px 20px!important}

 /* Main navigation must fit the phone width without horizontal dragging. */
 .primary-nav{overflow:hidden!important}
 .primary-nav a{min-width:0!important;padding-inline:2px!important;font-size:9px!important}
 .primary-nav svg{width:18px!important;height:18px!important}

 /* Discovery: keep cards fluid and never wider than the screen. */
 .catalog,.catalog-toolbar,.member-viewport,.member-grid{max-width:100%}
 .member-grid{width:100%;justify-content:stretch!important}
 .member-card{max-width:100%}
 .pager{max-width:100%}

 /* Phone dialogs act like app sheets. No pinch-to-fit or tiny nested profile viewport. */
 .modal,.modal.large{position:fixed!important;inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px!important;margin:0!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;border-radius:22px!important;overflow:hidden!important}
 .modal-head{padding:15px 16px!important;min-height:58px}
 .modal-head h2{font-size:20px!important}
 .modal-body{padding:14px 14px 18px!important;max-height:calc(100dvh - 82px - env(safe-area-inset-bottom))!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
 .modal.member-profile-modal{height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important}
 .modal.member-profile-modal .modal-body{height:calc(100% - 58px)!important;max-height:none!important;padding:0!important}
 .modal.member-profile-modal .mobile-profile-inspector{min-height:100%!important;height:auto!important;border-radius:0!important}
 .modal.member-profile-modal .profile-scroll{max-height:none!important;overflow:visible!important;flex:none!important;padding-bottom:24px}
 .modal.member-profile-modal .profile-banner{height:105px}
 .modal.member-profile-modal .profile-heading{padding-top:30px}
 .modal.member-profile-modal .guest-profile-note{margin-inline:12px}
 .modal.member-profile-modal .profile-foot{margin-top:auto}

 /* Authentication sheets also stay within the visible phone viewport. */
 .auth-art{height:105px}
 .auth-form{padding-top:8px}
 .auth-links{gap:10px}
 .auth-links button{font-size:13px}
}

@media(max-width:430px){
 .topbar{padding-inline:10px}
 .brand strong{font-size:15px}
 .brand-symbol{transform:scale(.82)}
 .primary-nav a{font-size:8.5px!important}
 .primary-nav svg{width:17px!important;height:17px!important}
 .catalog-toolbar{padding-inline:9px}
 .catalog-tabs{gap:4px}
 .chip{padding-inline:7px}
 .settings-nav{grid-template-columns:1fr}
 .settings-home-link{justify-content:center!important}
 .settings-nav-actions{grid-template-columns:1fr 1fr}
 .modal,.modal.large{inset:auto 6px max(6px,env(safe-area-inset-bottom)) 6px!important}
 .modal-body{padding-inline:12px!important}
}

@media(max-width:350px){
 .primary-nav a span:last-child{font-size:8px}
 .settings-nav-actions{grid-template-columns:1fr}
 .member-grid{gap:7px!important}
}


/* V7.2.15 — stable phone pages, full-screen chat and clearer mobile context. */
@media(max-width:760px){
  /* A compact, readable page-context bar instead of a tiny inset breadcrumb. */
  .app-shell{grid-template-rows:104px 40px minmax(0,1fr) 34px}
  .stagebar{
    min-height:40px!important;height:40px!important;padding:0 14px!important;
    font-size:12.5px!important;font-weight:800!important;background:#f7fbfd!important;
    border-bottom:1px solid #d7e6ed!important;align-items:center!important
  }
  .stagebar>div:first-child{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0}
  .stagebar #breadcrumb{font-size:12.5px!important;font-weight:800!important;color:#365e72!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .stagebar .stage-dot{width:6px;height:6px;flex:none}
  .stagebar .stage-hint{display:none!important}
  .logged-out.guest-browsing .app-shell{grid-template-rows:104px 40px minmax(0,1fr) 34px!important}
  .logged-out.guest-browsing .stagebar{min-height:40px!important;height:40px!important}

  /* Discovery/collection pages occupy one phone viewport. Pagination replaces a long card feed. */
  body.mobile-catalog-page{height:100dvh!important;overflow:hidden!important}
  body.mobile-catalog-page .app-shell{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
  body.mobile-catalog-page .workspace{
    height:100%!important;min-height:0!important;overflow:hidden!important;padding-bottom:6px!important
  }
  body.mobile-catalog-page .catalog{
    height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important
  }
  body.mobile-catalog-page .catalog-toolbar{flex:none!important}
  body.mobile-catalog-page .member-viewport{
    flex:1!important;min-height:0!important;height:auto!important;overflow:hidden!important;padding:7px 9px!important
  }
  body.mobile-catalog-page .member-grid{height:100%!important;min-height:0!important;align-content:center!important}
  body.mobile-catalog-page .pager{flex:none!important;min-height:56px!important;padding:5px 8px!important}
  body.mobile-catalog-page .pager-summary{font-size:9.5px!important}

  /* Messages are a real phone screen, not a floating layer over Discover. */
  body.mobile-chat-page{height:100dvh!important;overflow:hidden!important;background:#fff!important}
  body.mobile-chat-page .topbar,
  body.mobile-chat-page .stagebar,
  body.mobile-chat-page .footer,
  body.mobile-chat-page .chat-launcher{display:none!important}
  body.mobile-chat-page .app-shell{
    display:block!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;background:#fff!important
  }
  body.mobile-chat-page .workspace.messages-workspace{
    position:fixed!important;inset:0!important;z-index:220!important;width:100vw!important;height:100dvh!important;
    min-height:0!important;margin:0!important;padding:0!important;border-radius:0!important;background:#fff!important;overflow:hidden!important
  }
  body.mobile-chat-page .workspace.messages-workspace .activity-rail,
  body.mobile-chat-page .workspace.messages-workspace .catalog{
    width:100%!important;height:100%!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important
  }
  body.mobile-chat-page .workspace.messages-workspace .activity-rail{display:block!important}
  body.mobile-chat-page .workspace.messages-workspace .catalog{display:none!important}
  body.mobile-chat-page .workspace.messages-workspace.mobile-thread .activity-rail{display:none!important}
  body.mobile-chat-page .workspace.messages-workspace.mobile-thread .catalog{display:flex!important}
  body.mobile-chat-page .settings-content,
  body.mobile-chat-page .thread,
  body.mobile-chat-page .chat-rail{height:100%!important;min-height:0!important}
  body.mobile-chat-page .thread-header,
  body.mobile-chat-page .chat-list-heading{
    padding-top:max(8px,env(safe-area-inset-top))!important;
    min-height:calc(58px + env(safe-area-inset-top))!important;height:auto!important
  }
  body.mobile-chat-page .composer{
    padding-bottom:max(9px,env(safe-area-inset-bottom))!important;background:#fff!important
  }
  body.mobile-chat-page .messages{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch}
  .mobile-chat-exit{display:inline-grid!important}

  /* Keep account quick actions inside the phone width. */
  #centerPanel[data-settings-route="settings"] .form-section>.row{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important
  }
  #centerPanel[data-settings-route="settings"] .form-section>.row>.btn,
  #centerPanel[data-settings-route="settings"] .form-section>.row>a{
    width:100%!important;min-width:0!important;justify-content:center!important;white-space:normal!important;text-align:center!important
  }
}

@media(max-width:380px){
  #centerPanel[data-settings-route="settings"] .form-section>.row{grid-template-columns:1fr!important}
}


/* V7.2.16 — center mobile cards + visual-viewport chat keyboard handling. */
:root{--tm-vv-height:100dvh;--tm-vv-top:0px}
@media(max-width:760px){
  body.mobile-catalog-page .member-grid,
  .logged-out.guest-browsing .member-grid{
    width:fit-content!important;
    max-width:100%!important;
    margin-inline:auto!important;
    justify-content:center!important;
    justify-items:stretch!important;
  }
  body.mobile-catalog-page .member-viewport{display:block!important;overflow:hidden!important}
  body.mobile-chat-page .workspace.messages-workspace{
    top:var(--tm-vv-top,0px)!important;
    bottom:auto!important;
    height:var(--tm-vv-height,100dvh)!important;
    min-height:var(--tm-vv-height,100dvh)!important;
    max-height:var(--tm-vv-height,100dvh)!important;
  }
  body.mobile-chat-page .workspace.messages-workspace .catalog,
  body.mobile-chat-page .workspace.messages-workspace .activity-rail,
  body.mobile-chat-page .thread{max-height:100%!important}
  body.mobile-chat-page .composer{position:relative!important;z-index:8!important;flex:none!important}
  body.mobile-chat-page.chat-keyboard-open .messages{scroll-padding-bottom:74px}
  body.mobile-chat-page.chat-keyboard-open .composer{padding-bottom:8px!important}
}


/* V7.2.17 — deterministic phone discovery grid. */
@media(max-width:760px){
  body.mobile-catalog-page .member-viewport,
  .logged-out.guest-browsing .member-viewport{
    padding:8px!important;
    overflow:hidden!important;
  }
  body.mobile-catalog-page .member-grid,
  .logged-out.guest-browsing .member-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:8px!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    align-content:start!important;
    direction:rtl;
  }
  body.mobile-catalog-page .member-card,
  .logged-out.guest-browsing .member-card{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    min-width:0!important;
    max-width:none!important;
  }
  body.mobile-catalog-page .member-main,
  .logged-out.guest-browsing .member-main{
    width:100%!important;
    height:100%!important;
  }
}
@media(max-width:350px){
  body.mobile-catalog-page .member-grid,
  .logged-out.guest-browsing .member-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* V7.2.18 — mobile continuous lists with explicit Load More. */
@media(max-width:760px){
  body.mobile-catalog-page{
    height:auto!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.mobile-catalog-page .app-shell{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }
  body.mobile-catalog-page .workspace{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding-bottom:8px!important;
  }
  body.mobile-catalog-page .catalog{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    display:flex!important;
    flex-direction:column!important;
  }
  body.mobile-catalog-page .member-viewport,
  .logged-out.guest-browsing .member-viewport{
    flex:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:8px!important;
  }
  body.mobile-catalog-page .member-grid,
  .logged-out.guest-browsing .member-grid{
    height:auto!important;
    min-height:0!important;
    align-content:start!important;
    grid-auto-flow:row!important;
  }
  body.mobile-catalog-page .pager,
  .logged-out.guest-browsing .pager{
    min-height:0!important;
    padding:10px 8px 14px!important;
    background:transparent!important;
    border-top:1px solid #d7e6ed!important;
  }
  .mobile-load-more{
    width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:8px;padding:2px 0 0;
  }
  .mobile-load-more .pager-summary{width:100%;text-align:center;font-size:11px!important;color:#648293}
  .mobile-load-more .btn{min-width:150px;min-height:40px;border-radius:12px;font-size:13px;font-weight:800}
  .mobile-list-end{font-size:11px;color:#8196a3;padding:5px 0}
  .mobile-chat-more{display:block;width:calc(100% - 24px);margin:10px 12px 14px;min-height:40px}
}

/* V7.2.19: per-section unread activity indicators. */
.primary-nav .nav-notice-dot{position:absolute;inline-size:9px;block-size:9px;border-radius:999px;background:#e43f5f;border:2px solid #0b2539;inset-block-start:8px;inset-inline-end:5px;box-shadow:0 0 0 1px #ffffff22;z-index:2}
.primary-nav .nav-notice-dot[hidden]{display:none!important}
.primary-nav #requestsBadge:not(:empty){background:#d93658;color:#fff}
@media (max-width:760px){.primary-nav .nav-notice-dot{inline-size:10px;block-size:10px;inset-block-start:8px;inset-inline-end:calc(50% - 28px);border-width:2px}.primary-nav #requestsBadge{position:absolute;inset-block-start:4px;inset-inline-end:calc(50% - 31px);z-index:3}}

/* V7.2.21 — chat image lightbox + stable unread UX */
.message-photo-open{display:block;border:0;background:transparent;padding:0;margin:0;max-width:100%;cursor:zoom-in;border-radius:8px;overflow:hidden}.message-photo-open img{display:block;max-width:100%;height:auto}.bubble.mine .message-photo-open{color:inherit}.photo-lightbox{min-height:120px}.photo-lightbox img{display:block;width:auto;height:auto;max-width:min(900px,92vw);max-height:78vh;object-fit:contain;margin:auto;touch-action:pinch-zoom;user-select:none;-webkit-user-drag:none}@media(max-width:760px){.photo-lightbox{min-height:50vh;display:grid;place-items:center;overflow:auto}.photo-lightbox img{max-width:100%;max-height:72dvh;border-radius:10px}}


/* V7.2.22 — reliable unread state, compact receipts and refresh controls */
.stage-context{display:flex;align-items:center;gap:8px;min-width:0}
.stage-refresh{
  width:27px;height:27px;border:1px solid #d4e4eb;border-radius:8px;background:#fff;
  color:#5f7d8d;display:inline-grid;place-items:center;flex:none
}
.stage-refresh svg{width:14px;height:14px}
.stage-refresh:hover{color:#078b91;border-color:#9fd7da;background:#f5ffff}
[data-action="manual-refresh"][data-busy] svg{animation:tm-refresh-spin .75s linear infinite}
@keyframes tm-refresh-spin{to{transform:rotate(360deg)}}

.message-meta .receipt{
  display:inline-flex;align-items:center;min-width:18px;color:#91a4af;line-height:1
}
.message-meta .receipt .icon{width:13px;height:13px;flex:none}
.message-meta .receipt .icon + .icon{margin-inline-start:-7px}
.message-meta .receipt.read{color:#10a5ad}
.message-meta .receipt.pending{font-size:11px;color:#9cafb8}

@media(max-width:760px){
  .stagebar .stage-context{width:100%;justify-content:flex-start}
  .stage-refresh{width:30px;height:30px;border-radius:9px;margin-inline-start:auto}
}

/* V7.2.23 — reliable live presence in chat header */
.thread-peer-name{display:inline-flex;align-items:center;gap:7px}
.thread-online-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.15);display:none;flex:0 0 9px}
.thread-peer-presence.is-online .thread-online-dot{display:inline-block}
.thread-peer-presence.is-online .live-presence{color:#159447}

/* V7.2.26: notification onboarding after sign-in. */
.pwa-onboarding{display:grid;gap:10px}
.pwa-onboarding p{margin:0;font-size:13px;line-height:1.9;color:#506c7a}
.pwa-onboarding-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:6px}
@media(max-width:700px){
 .pwa-onboarding p{font-size:14px;line-height:1.85}
 .pwa-onboarding-actions{display:grid;grid-template-columns:1fr 1fr}
 .pwa-onboarding-actions .btn{width:100%;min-height:44px}
}
