@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600&display=swap');
:root{--grace:#1f70aa;--grace2:#155984;--accent:#19b94d;--accent-dark:#0d9138;--gold:#19b94d;--ink:#132737;--muted:#687b89;--line:#dfe8ec;--bg:#f3f8fa;--green:#19b94d;--red:#c93d4d}*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg)}.navbar{background:#fff;padding:.48rem 1.25rem;border-bottom:3px solid var(--accent);box-shadow:0 4px 20px #174f7420}.navbar-brand{display:flex;align-items:center;gap:.8rem;color:var(--grace)!important}.navbar-brand img{width:155px;height:58px;object-fit:contain}.navbar-brand span{border-left:1px solid var(--line);padding-left:.8rem;font-size:.73rem;font-weight:700;letter-spacing:.04em}.navbar .nav-link{color:#294b60;font-size:.91rem}.navbar .nav-link:hover,.navbar .nav-link:focus{color:var(--accent-dark)}.navbar-toggler{border-color:#b7cbd5}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%231f70aa' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.user-pill{display:flex;align-items:center;gap:.5rem}.user-pill>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#e7f5eb;color:var(--accent-dark)}.notification-dot{position:absolute;width:7px;height:7px;background:var(--accent);border-radius:50%;top:6px}.notification-menu{width:320px}.notification-menu small{display:block;white-space:normal;color:var(--muted)}.app-content{max-width:1500px;padding:2rem clamp(1rem,3vw,3rem)}h1{font-weight:700;letter-spacing:-.035em}h2{font-weight:700}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}.page-head h1{font-size:clamp(1.8rem,3vw,2.55rem);margin:.15rem 0}.page-head p{color:var(--muted);margin:0}.eyebrow{color:var(--accent-dark);font-weight:700;font-size:.7rem;letter-spacing:.13em}.btn{font-weight:600;border-radius:.65rem}.btn-primary{background:var(--grace);border-color:var(--grace)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-outline-primary{color:var(--grace);border-color:var(--grace)}.btn-outline-primary:hover{background:var(--grace);border-color:var(--grace)}.panel{background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 5px 18px #203c5a0a;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}.panel-head h2{font-size:1rem;margin:0}.panel-head a{font-size:.82rem;color:var(--accent-dark)}.stat-card{height:100%;display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.2rem}.stat-icon{font-size:1.5rem;background:#eaf6f8;padding:.75rem;border-radius:.8rem}.stat-card strong{display:block;font-size:1.65rem;line-height:1}.stat-card small,.list-item small{display:block;color:var(--muted);margin-top:.25rem}.table{margin:0}.table>:not(caption)>*>*{padding:.9rem 1.1rem}.table thead th{font-size:.68rem;letter-spacing:.08em;color:var(--muted);background:#fafbfd}.list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);color:var(--ink)}.list-item:last-child{border:0}.empty-state{padding:2.5rem 1rem;text-align:center;color:var(--muted)}.empty-state.large{background:#fff;border:1px dashed #ccd6e0;border-radius:1rem;margin-top:1rem;padding:5rem 1rem}.status{display:inline-block;padding:.28rem .55rem;border-radius:2rem;font-size:.68rem;font-weight:700;text-transform:uppercase;background:#eef1f4;color:#667}.status-open,.status-published,.status-answered{background:#e6f6ef;color:#147353}.status-limited,.status-pending{background:#fff3d8;color:#8c6418}.status-closed{background:#fde8ea;color:#a22a38}.uni-tile{display:flex;align-items:center;gap:.75rem;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:.8rem;padding:.9rem}.uni-tile:hover{border-color:var(--accent)}.uni-tile>span:last-child{margin-left:auto}.uni-logo{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:.7rem;background:#e4f1f8;color:var(--grace);font-size:1.25rem;font-weight:700}.uni-logo.large{width:66px;height:66px;font-size:2rem;background:#fff}.branch-hero{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:linear-gradient(125deg,#e3f2f8,#f1fbf4 60%,#fff);border:1px solid #d5e8e8;border-radius:1.25rem;padding:clamp(1.5rem,4vw,3.3rem);position:relative;overflow:hidden}.branch-hero:after{content:'G';position:absolute;right:3%;top:-55%;font:20rem Georgia;color:#19b94d0a}.branch-hero h1{font-size:clamp(2rem,4vw,3.2rem)}.branch-hero em{font-family:'Playfair Display',serif;color:var(--grace)}.quick-search{position:relative;z-index:1;min-width:min(100%,400px);display:grid;gap:.7rem;background:#fff;padding:1.2rem;border-radius:1rem;box-shadow:0 18px 50px #10395f1c}.question-strip{display:flex;justify-content:center;align-items:center;gap:1rem;background:linear-gradient(100deg,var(--grace2),var(--grace));color:#fff;margin:1rem 0;border-radius:.8rem;padding:.7rem;border-left:5px solid var(--accent)}.update-item{display:flex;gap:1rem;padding:1.2rem;border-bottom:1px solid var(--line)}.update-item:last-child{border:0}.update-item p{color:var(--muted);margin:.4rem 0}.update-date{width:45px;height:52px;border:1px solid var(--line);border-radius:.6rem;text-align:center}.update-date b,.update-date span{display:block}.update-date span{font-size:.68rem;text-transform:uppercase;color:var(--muted)}.urgent{display:inline-block;background:var(--red);color:#fff;font-size:.6rem;padding:.2rem .45rem;border-radius:1rem;margin-right:.4rem;letter-spacing:.08em}.filter-panel{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.25rem;margin-bottom:1.2rem}.filter-panel label,.form-panel label,.modal label,.panel form label{font-size:.74rem;font-weight:700;color:#526174;margin-bottom:.35rem}.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 .25rem #19b94d20}.check-tile{width:100%;border:1px solid var(--line);border-radius:.5rem;padding:.57rem}.results-head{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;margin:1rem 0}.result-card{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.2rem;height:100%}.result-card:hover{border-color:#8fc9a1;box-shadow:0 10px 25px #1d865c12}.result-top{display:flex;align-items:flex-start;gap:.8rem}.result-top h3{font-size:1.15rem;margin:.15rem 0}.result-top p{font-size:.8rem;color:var(--muted);margin:0}.result-top .status{margin-left:auto}.requirement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1.2rem 0}.requirement-grid span{padding:.7rem;background:#f3f8fa;border-radius:.6rem}.requirement-grid small,.answer-grid small,.destination-card small{display:block;font-size:.6rem;letter-spacing:.08em;color:var(--muted)}.requirement-grid b{display:block;font-size:.78rem;margin-top:.25rem}.result-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-top:1px solid var(--line);padding-top:1rem;font-size:.75rem;color:var(--muted)}.university-hero{display:flex;align-items:center;gap:1rem;background:linear-gradient(115deg,var(--grace2),var(--grace));color:#fff;border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;border-bottom:5px solid var(--accent)}.university-hero .eyebrow{color:#b6e8c3}.university-hero h1{margin:.1rem 0}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.answer-grid>div{padding:1.2rem;border-bottom:1px solid var(--line)}.answer-grid>div:nth-child(odd){border-right:1px solid var(--line)}.answer-grid strong{display:block;font-size:1.05rem;margin:.25rem 0}.answer-grid p{color:var(--muted);font-size:.85rem;margin:0}.info-callout{margin:1rem;padding:1rem;background:#eefaf1;border-left:3px solid var(--accent);border-radius:.5rem}.info-callout p{margin:.3rem 0 0}.contact-card{display:flex;gap:.8rem;align-items:center;padding:1.2rem}.contact-card>span{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--grace);color:#fff}.contact-card small{display:block;color:var(--muted)}.notes p{font-size:.87rem;color:var(--muted)}.update-card .panel-head{align-items:flex-start}.update-card .panel-head h2{font-size:1.15rem;margin:.25rem 0}.urgent-card{border-top:3px solid var(--red)}.answer{background:#ebf7ef;border-radius:.7rem;padding:1rem;margin-top:1rem;border-left:3px solid var(--accent)}.answer p{margin:.4rem 0 0}.answer-form{display:flex;gap:.6rem;margin-top:1rem}.answer-form textarea{min-height:70px}.answer-form button{align-self:flex-end}.destination-card{padding:1.3rem}.destination-card h2{font-size:1.2rem}.destination-card>div:not(.destination-flag){margin-top:1rem}.destination-card b{display:block}.destination-flag{float:right;background:#e6f7eb;color:var(--accent-dark);font-weight:700;padding:.5rem;border-radius:.5rem}.login-shell{min-height:100vh;background:linear-gradient(120deg,var(--grace2) 0 50%,#f7f9fb 50%)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1200px;margin:auto;padding:2rem}.login-message{color:#fff;padding:3.5rem}.login-side-logo{width:min(100%,350px);height:auto;background:#fff;border-radius:.8rem;padding:.6rem;margin-bottom:2rem}.login-message .eyebrow{color:#8eeda9}.login-message h1{font-size:clamp(2.6rem,5vw,4.4rem);line-height:1;margin:1rem 0}.login-message p{color:#d3e7f3;max-width:490px}.login-points{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:#dff7e5}.login-card{background:#fff;border-radius:1.2rem;padding:clamp(2rem,5vw,4rem);width:min(100%,480px);margin:auto;box-shadow:0 30px 80px #0e294631;border-top:6px solid var(--accent)}.login-card-logo{display:none;width:230px;height:auto;margin:0 auto 1.5rem}.login-card h2{font-size:2rem}@media(max-width:991px){.branch-hero{align-items:stretch;flex-direction:column}.login-shell{background:linear-gradient(150deg,var(--grace2),var(--grace))}.login-wrap{grid-template-columns:1fr}.login-message{display:none}.login-card{margin:auto}.login-card-logo{display:block}.requirement-grid{grid-template-columns:1fr 1fr}}@media(max-width:767px){.navbar-brand img{width:125px;height:47px}.navbar-brand span{display:none}.app-content{padding:1.2rem .8rem}.page-head{align-items:flex-start;flex-direction:column;gap:1rem}.page-head .btn{width:100%}.question-strip{flex-direction:column;text-align:center}.answer-grid{grid-template-columns:1fr}.answer-grid>div:nth-child(odd){border-right:0}.results-head{flex-direction:column}.result-top{flex-wrap:wrap}.result-top .status{margin-left:0}.answer-form{flex-direction:column}.answer-form button{align-self:stretch}.university-hero{flex-wrap:wrap}.university-hero form{width:100%;margin-left:0!important}.university-hero button{width:100%}}

/* Destination update feed */
.update-filters{margin-bottom:2rem}.search-field{position:relative}.search-field span{position:absolute;left:.85rem;top:.43rem;color:var(--muted);font-size:1.2rem}.search-field input{padding-left:2.3rem}.filter-meta{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.filter-meta a{color:var(--accent-dark);font-weight:700}.destination-feed{margin-bottom:2.2rem}.destination-feed-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.destination-feed-head>div{display:flex;align-items:center;gap:.7rem}.destination-feed-head h2{font-size:1.25rem;margin:0}.destination-feed-head p{font-size:.75rem;color:var(--muted);margin:0}.destination-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:.75rem;background:linear-gradient(135deg,var(--grace),var(--grace2));color:#fff;font-size:.72rem;font-weight:800;box-shadow:inset 0 -3px 0 var(--accent)}.update-card{height:100%}.update-card .panel-head small{display:block;color:var(--muted);margin-top:.25rem}.update-date-label{font-size:.7rem;color:var(--muted);font-weight:700}.update-body{padding:1.1rem 1.2rem}.update-body p{margin:0;color:#314755;line-height:1.65}.engagement-bar{display:flex;align-items:center;gap:.4rem;padding:.6rem 1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfd}.engagement-bar form{margin:0}.engagement-button{border:0;background:transparent;color:#627581;padding:.4rem .6rem;border-radius:.5rem;font-size:.78rem;font-weight:700}.engagement-button:hover{background:#eef5f7;color:var(--grace)}.engagement-button span{font-size:1.05rem;vertical-align:-.05rem}.engagement-button.liked{color:#d13f57;background:#fff0f2}.comments-panel{padding:.9rem 1.1rem;background:#f8fafb}.update-comment{display:flex;gap:.7rem;margin-bottom:.8rem}.comment-avatar{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#dcebf3;color:var(--grace);font-size:.72rem;font-weight:800}.comment-avatar.current{background:#dff5e5;color:var(--accent-dark)}.update-comment>div{flex:1;background:#fff;border:1px solid var(--line);border-radius:.65rem;padding:.65rem .8rem}.update-comment b{font-size:.78rem}.update-comment time{float:right;color:#8b9aa4;font-size:.65rem}.update-comment p{font-size:.82rem;margin:.35rem 0 0;color:#40545f}.role-chip{font-size:.55rem;text-transform:uppercase;letter-spacing:.05em;background:#def5e5;color:var(--accent-dark);padding:.16rem .35rem;border-radius:1rem;margin-left:.35rem}.comment-form{display:flex;align-items:center;gap:.55rem;margin-top:.6rem}.comment-form input{font-size:.82rem}.comment-form button{white-space:nowrap}@media(max-width:575px){.filter-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.engagement-bar{justify-content:space-between}.comment-form{align-items:stretch;flex-wrap:wrap}.comment-form input{width:calc(100% - 42px)}.comment-form button{margin-left:42px;width:calc(100% - 42px)}}

/* Webinar planning and attendance */
.webinar-nav{position:relative}.webinar-nav:after{content:'LIVE';position:absolute;top:0;right:-2px;background:var(--accent);color:#fff;font-size:.42rem;line-height:1;padding:.15rem .25rem;border-radius:1rem;letter-spacing:.05em}.webinar-tabs{display:flex;gap:.4rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.webinar-tabs a{padding:.8rem 1rem;color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:700;border-bottom:3px solid transparent}.webinar-tabs a.active{color:var(--grace);border-color:var(--accent)}.webinar-card{height:100%}.webinar-card.past{opacity:.88}.webinar-card-top{display:flex;gap:1rem;padding:1.2rem;border-bottom:1px solid var(--line)}.webinar-card-top h2{font-size:1.12rem;margin:.2rem 0}.university-presenter{margin:0;color:var(--grace);font-size:.82rem;font-weight:700}.webinar-calendar{flex:0 0 auto;display:grid;place-items:center;width:55px;height:62px;border-radius:.7rem;background:linear-gradient(150deg,var(--grace2),var(--grace));color:#fff;overflow:hidden}.webinar-calendar b{font-size:1.45rem;line-height:1}.webinar-calendar span{display:block;width:100%;text-align:center;background:var(--accent);font-size:.6rem;padding:.2rem}.webinar-details{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;padding:1rem 1.2rem}.webinar-details span{background:#f5f9fa;border-radius:.55rem;padding:.65rem}.webinar-details small{display:block;color:var(--muted);font-size:.55rem;letter-spacing:.06em}.webinar-details b{font-size:.72rem}.webinar-description{padding:0 1.2rem 1rem;color:#526773;font-size:.84rem;line-height:1.55}.webinar-actions{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.2rem;border-top:1px solid var(--line);background:#fbfcfd}.webinar-actions small{margin-left:auto;color:var(--muted)}.locked-status{color:#7c8992;font-size:.78rem;font-weight:700}.attendance-rate{display:inline-block;width:90px;height:7px;background:#e7eef1;border-radius:1rem;overflow:hidden;margin-right:.4rem}.attendance-rate span{display:block;height:100%;background:var(--accent)}.dashboard-webinars{margin:1.3rem 0;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1rem}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.section-heading h2{font-size:1.25rem;margin:0}.webinar-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.webinar-quick-card{display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);border-radius:.8rem;padding:.7rem}.webinar-quick-card .webinar-calendar{width:43px;height:49px}.webinar-quick-card .webinar-calendar b{font-size:1.1rem}.webinar-quick-card>div:nth-child(2){min-width:0;flex:1}.webinar-quick-card>div:nth-child(2)>b,.webinar-quick-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.webinar-quick-card>div:nth-child(2)>b{font-size:.8rem}.webinar-quick-card small{color:var(--muted);font-size:.68rem}.webinar-mini{display:flex;align-items:center;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.webinar-mini:last-child{border:0}.webinar-mini .webinar-calendar{width:40px;height:46px}.webinar-mini .webinar-calendar b{font-size:1rem}.webinar-mini small{display:block;color:var(--muted)}.webinar-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;padding:1rem}.webinar-summary-grid>div{background:#f4f9fa;border-radius:.7rem;padding:.8rem}.webinar-summary-grid span{float:right;color:var(--grace);font-size:.7rem;font-weight:800}.webinar-summary-grid b{display:block;font-size:1.3rem}.webinar-summary-grid small{color:var(--muted)}.status-will_join{background:#e7f2fb;color:var(--grace)}.status-attended{background:#e5f7ea;color:var(--accent-dark)}.status-absent{background:#fde8ea;color:#a22a38}@media(max-width:991px){.webinar-details{grid-template-columns:repeat(2,1fr)}.webinar-quick-grid{grid-template-columns:1fr}.webinar-dashboard-panel .border-end{border-right:0!important;border-bottom:1px solid var(--line)}}@media(max-width:575px){.webinar-card-top{align-items:flex-start}.webinar-details{grid-template-columns:1fr 1fr}.webinar-actions{align-items:stretch;flex-direction:column}.webinar-actions form,.webinar-actions .btn{width:100%}.webinar-actions small{margin-left:0}.section-heading{align-items:flex-start;gap:.7rem;flex-direction:column}.webinar-quick-card{align-items:flex-start;flex-wrap:wrap}.webinar-quick-card form{width:100%}.webinar-quick-card form .btn{width:100%}}

/* Update photo and document attachments */
.update-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;margin-top:1rem;border-radius:.75rem;overflow:hidden}.update-photo-grid.count-1{grid-template-columns:1fr}.update-photo-grid a{display:block;background:#e9f0f3;min-height:160px}.update-photo-grid img{display:block;width:100%;height:100%;max-height:310px;object-fit:cover;transition:transform .2s}.update-photo-grid a:hover img{transform:scale(1.02)}.update-files{display:grid;gap:.45rem;margin-top:.8rem}.update-files a{display:flex;align-items:center;gap:.65rem;padding:.7rem;background:#f3f8fa;border:1px solid var(--line);border-radius:.6rem;color:var(--ink);text-decoration:none}.update-files a:hover{border-color:var(--accent)}.update-files a>span:first-child{font-size:1.2rem}.update-files a>span:last-child{margin-left:auto;color:var(--grace);font-weight:800}.update-files b,.update-files small{display:block}.update-files b{font-size:.78rem}.update-files small,.upload-help{color:var(--muted);font-size:.68rem}.attachment-count{margin-left:auto;color:var(--muted);font-size:.72rem;font-weight:700}@media(max-width:575px){.update-photo-grid{grid-template-columns:1fr}.update-photo-grid a{min-height:130px}}

/* Staff directory */
.staff-search{padding:.8rem}.staff-group{margin-bottom:2rem}.staff-group-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:.8rem}.staff-group-head h2{font-size:1.25rem;margin:0}.staff-group-head p{color:var(--muted);font-size:.75rem;margin:0}.staff-group-head>span{color:var(--muted);font-size:.75rem}.staff-card{position:relative;height:100%;display:grid;grid-template-columns:auto 1fr;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.1rem;box-shadow:0 5px 18px #203c5a0a}.staff-card.inactive{opacity:.55}.staff-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--grace),var(--grace2));color:#fff;font-size:1.25rem;font-weight:800;border:3px solid #dff5e5}.staff-primary h3{font-size:1.05rem;margin:.15rem 0}.staff-primary p{font-size:.8rem;color:var(--muted);margin:0}.ho-chip{position:absolute;right:1rem;top:1rem;background:#e1f7e7;color:var(--accent-dark);border-radius:1rem;padding:.2rem .45rem;font-size:.54rem;font-weight:800}.staff-specialization{grid-column:1/-1;background:#f4f9fa;border-left:3px solid var(--accent);border-radius:.4rem;padding:.55rem .7rem;font-size:.78rem;color:#46606d}.staff-contact{grid-column:1/-1;display:grid;gap:.35rem}.staff-contact a,.staff-contact span{color:#4e6875;text-decoration:none;font-size:.76rem;overflow-wrap:anywhere}.staff-contact a:hover{color:var(--grace)}.staff-edit{grid-column:1/-1}.staff-card:has(.ho-chip) .staff-primary{padding-right:5rem}

/* Database-grounded assistant */
.assistant-widget{position:fixed;right:22px;bottom:22px;z-index:1080}.assistant-launch{display:flex;align-items:center;gap:.55rem;border:0;background:linear-gradient(135deg,var(--grace2),var(--grace));color:#fff;border-radius:2rem;padding:.7rem 1rem;box-shadow:0 12px 35px #103f6270}.assistant-launch span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);font-size:1rem}.assistant-panel{position:absolute;right:0;bottom:58px;width:min(390px,calc(100vw - 24px));height:540px;max-height:calc(100vh - 100px);background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 24px 70px #112f4860;overflow:hidden}.assistant-panel header{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,var(--grace2),var(--grace));color:#fff;padding:.85rem 1rem}.assistant-panel header>div{display:flex;align-items:center;gap:.6rem}.assistant-panel header>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent)}.assistant-panel header small{display:block;color:#d4e9f4;font-size:.65rem}.assistant-close{border:0;background:transparent;color:#fff;font-size:1.5rem}.assistant-messages{height:330px;overflow-y:auto;padding:1rem;background:#f5f8fa}.assistant-message{white-space:pre-line;width:fit-content;max-width:88%;padding:.7rem .8rem;border-radius:.8rem;margin-bottom:.65rem;font-size:.8rem;line-height:1.45}.assistant-message.bot{background:#fff;border:1px solid var(--line);border-bottom-left-radius:.2rem}.assistant-message.user{background:var(--grace);color:#fff;margin-left:auto;border-bottom-right-radius:.2rem}.assistant-message.waiting{color:var(--muted);font-style:italic}.assistant-links{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--line)}.assistant-links a{color:var(--grace);font-size:.7rem;font-weight:700;text-decoration:none}.assistant-prompts{display:flex;gap:.35rem;padding:.55rem .7rem;overflow-x:auto;border-top:1px solid var(--line)}.assistant-prompts button{white-space:nowrap;border:1px solid #bed4df;background:#fff;color:var(--grace);border-radius:1rem;padding:.3rem .55rem;font-size:.65rem}.assistant-form{display:flex;gap:.4rem;padding:.6rem .7rem;border-top:1px solid var(--line)}.assistant-form input{font-size:.78rem}.assistant-form button{width:42px}.assistant-panel footer{text-align:center;color:var(--muted);font-size:.58rem;padding:.25rem}@media(max-width:575px){.assistant-widget{right:12px;bottom:12px}.assistant-launch b{display:none}.assistant-panel{position:fixed;right:8px;left:8px;bottom:76px;width:auto;height:min(570px,calc(100vh - 95px))}.assistant-messages{height:calc(100% - 190px)}}

/* Refined public login */
.login-shell{min-height:100vh;background:#eef5f7}.login-page{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(115deg,#0f456d 0%,#1f70aa 51%,#f5f9fa 51%,#f5f9fa 100%)}.login-page:before{content:'';position:absolute;width:620px;height:620px;border:1px solid #ffffff13;border-radius:50%;left:-180px;top:120px;box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff05}.login-page:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:#19b94d1d;left:43%;bottom:-120px}.login-topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 48px));margin:0 auto;padding:1.2rem 0}.login-topbar img{width:230px;height:82px;object-fit:contain;background:#fff;border-radius:.75rem;padding:.4rem .6rem;box-shadow:0 8px 30px #0a2f4c2b}.login-topbar>div{display:flex;align-items:center;gap:.45rem;color:#516976;font-size:.75rem;font-weight:700}.secure-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #19b94d1a}.login-stage{position:relative;z-index:1;flex:1;width:min(1240px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.08fr .82fr;align-items:center;gap:clamp(3rem,8vw,7rem);padding:2rem 0 3rem}.login-intro{color:#fff}.login-kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.69rem;font-weight:800;letter-spacing:.16em;color:#a4f1b7}.login-kicker:before{content:'';width:35px;height:3px;border-radius:2px;background:var(--accent)}.login-intro h1{font-size:clamp(3rem,5.4vw,5.1rem);line-height:.98;letter-spacing:-.055em;margin:1.2rem 0}.login-intro h1 em{display:inline-block;color:#a5efb6;font-family:'Playfair Display',serif;font-weight:600}.login-intro>p{max-width:620px;color:#d5e7f1;font-size:1.02rem;line-height:1.7}.destination-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.5rem 0}.destination-pills span{background:#ffffff12;border:1px solid #ffffff25;border-radius:2rem;padding:.38rem .65rem;font-size:.68rem;font-weight:700;color:#e9f4f9}.login-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:2rem}.login-benefits>div{background:#ffffff0d;border:1px solid #ffffff18;border-radius:.75rem;padding:.8rem}.login-benefits>div>span{display:grid;place-items:center;width:30px;height:30px;background:#19b94d25;color:#a5efb6;border-radius:.5rem;margin-bottom:.55rem}.login-benefits b,.login-benefits small{display:block}.login-benefits b{font-size:.77rem}.login-benefits small{color:#bfd5e1;font-size:.65rem;line-height:1.4;margin-top:.2rem}.login-form-card{background:#fff;border:1px solid #dae6eb;border-radius:1.35rem;padding:clamp(1.7rem,4vw,2.7rem);box-shadow:0 30px 80px #0c2e4640;position:relative}.login-form-card:before{content:'';position:absolute;left:2.7rem;right:2.7rem;top:0;height:5px;background:linear-gradient(90deg,var(--grace),var(--accent));border-radius:0 0 5px 5px}.login-card-heading{display:flex;align-items:center;gap:.8rem}.welcome-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:.75rem;background:linear-gradient(145deg,var(--grace),var(--grace2));color:#fff;font:bold 1.6rem Georgia;box-shadow:inset 0 -4px 0 var(--accent)}.login-card-heading>div>span{font-size:.62rem;color:var(--accent-dark);font-weight:800;letter-spacing:.12em}.login-card-heading h2{font-size:1.7rem;margin:.1rem 0}.login-card-copy{color:var(--muted);font-size:.82rem;margin:1.1rem 0 1.5rem}.login-form-card .form-label{font-size:.72rem;font-weight:700;color:#3c5260;margin-bottom:.35rem}.password-label{display:flex;align-items:center;justify-content:space-between;margin-top:1rem}.password-label>span{font-size:.62rem;color:#79909d}.login-input{position:relative;display:flex;align-items:center}.login-input>span{position:absolute;left:.85rem;color:#7e95a2;font-weight:700;z-index:1}.login-input .form-control{height:51px;padding-left:2.45rem;padding-right:3.5rem;border-color:#d8e3e8;background:#fbfcfd}.login-input button{position:absolute;right:.7rem;border:0;background:transparent;color:var(--grace);font-size:.68rem;font-weight:700}.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:52px;margin-top:1.4rem;padding:0 1.2rem;background:linear-gradient(100deg,var(--grace2),var(--grace));box-shadow:0 8px 22px #1f70aa35}.login-submit span{font-size:1.2rem}.login-help{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line);text-align:center}.login-help span{font-size:.7rem;font-weight:800;color:#425965}.login-help p{font-size:.68rem;color:var(--muted);margin:.2rem 0 0}.login-footer{position:relative;z-index:1;display:flex;justify-content:space-between;width:min(1240px,calc(100% - 48px));margin:0 auto;padding:1rem 0;color:#79909c;font-size:.64rem}.login-footer span:first-child{color:#c6dae4}@media(max-width:991px){.login-page{background:linear-gradient(160deg,#0f456d 0%,#1f70aa 34%,#f5f9fa 34%)}.login-topbar>div{color:#d5e7f1}.login-stage{grid-template-columns:1fr;gap:2rem;padding-top:1rem}.login-intro{text-align:center}.login-intro h1{font-size:3.3rem}.login-intro>p{margin-left:auto;margin-right:auto}.login-kicker{justify-content:center}.destination-pills{justify-content:center}.login-benefits{display:none}.login-form-card{width:min(100%,520px);margin:auto}.login-footer span:first-child{color:#79909c}}@media(max-width:575px){.login-topbar,.login-stage,.login-footer{width:min(100% - 26px,1240px)}.login-topbar img{width:175px;height:64px}.login-topbar>div{font-size:0}.login-topbar>div:after{content:'Secure portal';font-size:.65rem}.login-stage{padding:0 0 1.2rem}.login-intro h1{font-size:2.5rem;margin:.8rem 0}.login-intro>p{font-size:.82rem;line-height:1.5}.destination-pills{display:none}.login-form-card{padding:1.5rem}.login-card-heading h2{font-size:1.4rem}.login-footer{justify-content:center}.login-footer span:last-child{display:none}}
.finder-import-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem 1.4rem;border-left:5px solid var(--accent);background:linear-gradient(105deg,#fff,#f0faf3)}.finder-import-panel h2{font-size:1.15rem;margin:.2rem 0}.finder-import-panel p{color:var(--muted);font-size:.82rem;margin:0;max-width:720px}.import-note{display:flex;flex-direction:column;padding:.85rem 1rem;border-radius:.7rem;background:#e9f8ee;border-left:3px solid var(--accent);color:#245638}.import-note span{font-size:.78rem;margin-top:.2rem}@media(max-width:767px){.finder-import-panel{align-items:flex-start;flex-direction:column}.finder-import-panel .btn{width:100%}}
