.brand strong{font-size:16px;letter-spacing:.035em}.brand small{font-size:9px;letter-spacing:.12em}
.auth-brand strong{font-size:15px;letter-spacing:.04em}.auth-brand small{font-size:9px;letter-spacing:.12em}
.cluster-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;flex:1}
.cluster-chip{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:start;gap:7px 12px;padding:12px 13px;cursor:pointer}
.cluster-chip strong{font-size:13px}.cluster-chip span{font-size:10px;color:#7a8799}.cluster-chip small{grid-column:1/-1;color:#748398;font-size:9px}.cluster-chip em{grid-column:1/-1;font-size:12px;color:#247753;font-style:normal;font-weight:800}
.cluster-chip i{grid-column:1/-1;display:block;height:6px;overflow:hidden;border-radius:99px;background:#e9eef4}.cluster-chip i b{display:block;height:100%;border-radius:99px;background:#3a8a68}
.cluster-dialog-content{padding:24px}.cluster-dialog-content header,.documents-content header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.cluster-dialog-content h2,.documents-content h2{margin:0;color:var(--navy);font:800 21px Manrope,sans-serif}.cluster-dialog-content .cluster-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.cluster-summary-grid>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.cluster-summary-grid small{display:block;color:#7a8799;font-size:9px}.cluster-summary-grid strong{display:block;margin-top:6px;color:var(--navy);font-size:18px}.cluster-dialog-content .plan-editor{margin:14px 0}.cluster-villa-list{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:290px;overflow:auto;margin-top:13px}.cluster-villa-list button{padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);font-size:10px;text-align:left}.documents-dialog{width:min(1060px,calc(100% - 26px));max-width:1060px}.documents-content{padding:24px}.documents-toolbar,.document-filters,.document-upload-grid{display:flex;flex-wrap:wrap;align-items:end;gap:9px;margin:14px 0}.documents-content input,.documents-content select,.documents-content textarea{max-width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:10px}.documents-content label{display:grid;gap:4px;color:#6c7b90;font-size:9px;font-weight:700}.document-upload{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.document-upload h3{grid-column:1/-1;margin:0;color:var(--navy);font-size:13px}.document-upload .wide{grid-column:span 2}.document-upload textarea{min-height:42px;resize:vertical}.document-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:10px}.document-table th,.document-table td{padding:9px 7px;border-bottom:1px solid #e8edf2;text-align:left;vertical-align:top}.document-table th{color:#748398;font-size:9px}.document-table a,.document-table button{color:#315d91;font-size:9px}.document-details{margin:5px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.document-details form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.document-revisions{color:#758398;font-size:9px;line-height:1.6}.documents-notice{padding:12px;border:1px solid #e1e8f0;border-radius:8px;background:#f8fafc;color:#748398;font-size:10px}.document-actions{display:flex;flex-wrap:wrap;gap:9px}.document-actions button{border:0;background:transparent;text-decoration:underline;cursor:pointer}.document-actions a{font-weight:700}
@media(max-width:780px){.brand strong{font-size:13px}.cluster-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cluster-dialog-content .cluster-summary-grid{grid-template-columns:1fr}.cluster-villa-list{grid-template-columns:repeat(2,1fr)}.document-upload{grid-template-columns:repeat(2,minmax(0,1fr))}.document-table{display:block;overflow:auto}.document-details form{grid-template-columns:1fr}.documents-content{padding:17px}}
.operational-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin:10px 0 16px;padding:12px;background:#f7f9fb;border:1px solid var(--line);border-radius:9px}.operational-status-grid select{width:100%;min-height:34px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.documents-library{padding:24px;max-height:85vh;overflow:auto}.documents-library>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.documents-library h2{margin:4px 0;color:var(--navy)}.document-filters,.document-metadata-form,.document-edit-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0;padding:13px;background:#f7f9fb;border:1px solid var(--line);border-radius:9px}.document-filters label,.document-metadata-form label,.document-edit-form label{display:grid;gap:4px;color:var(--muted);font-size:10px}.document-filters input,.document-filters select,.document-metadata-form input,.document-metadata-form select,.document-metadata-form textarea,.document-edit-form input{width:100%;min-height:33px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.document-metadata-form .wide{grid-column:1/-1}.document-metadata-form textarea{min-height:64px}.general-document-card{margin:10px 0;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff}.general-document-head{display:flex;justify-content:space-between;gap:8px}.general-document-card h3{margin:0;color:var(--navy);font-size:14px}.general-document-card p{margin:5px 0;color:#607189;font-size:10px}.general-document-card small{color:#7b8798;font-size:9px}.document-revisions{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0}.document-revisions a{color:#315d91;font-size:10px}.documents-dialog::backdrop{background:#13243a88}
@media(max-width:640px){.documents-library{padding:16px}.document-filters,.document-metadata-form,.document-edit-form{grid-template-columns:1fr}.document-metadata-form .wide{grid-column:auto}}
.icon-button{width:36px;height:36px;padding:8px}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.gallery-zoom-controls{position:absolute;top:12px;left:14px;z-index:2;display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #ffffff44;border-radius:9px;background:#101c2bd9;color:#fff}.gallery-zoom-controls button{width:30px;height:29px;border:0;border-radius:6px;background:#ffffff18;color:#fff;font-size:20px;cursor:pointer}.gallery-zoom-controls span{min-width:44px;text-align:center;font-size:10px;font-weight:700}.gallery-dialog #galleryImage{transform-origin:center center;transition:transform .15s ease}.auth-access-dismiss{float:right;border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.auth-mode-toggle{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer;padding:7px}.analytics-dialog{width:min(1120px,calc(100% - 24px));max-width:1120px}.analytics-content{padding:24px;max-height:88vh;overflow:auto}.analytics-content>header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.analytics-content h2{margin:0;color:var(--navy);font:800 21px Manrope,sans-serif}.analytics-filters{display:flex;flex-wrap:wrap;align-items:end;gap:9px;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f7f9fb}.analytics-filters label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:700}.analytics-filters input,.analytics-filters select{min-height:34px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.analytics-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.analytics-metric{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.analytics-metric small{display:block;color:var(--muted);font-size:10px}.analytics-metric strong{display:block;margin-top:5px;color:var(--navy);font:800 24px Manrope,sans-serif}.analytics-table-wrap{overflow:auto;margin:12px 0}.analytics-table{width:100%;border-collapse:collapse;font-size:10px}.analytics-table th,.analytics-table td{padding:9px 7px;border-bottom:1px solid #e6ebf1;text-align:left;vertical-align:top}.analytics-table th{color:#748398;white-space:nowrap}.analytics-user-name{font-weight:700;color:var(--navy)}.analytics-status{font-size:9px;color:var(--muted)}.analytics-section-title{margin:19px 0 7px;color:var(--navy);font-size:12px;font-weight:800}.analytics-empty{padding:12px;color:var(--muted);font-size:11px}.analytics-warning{margin-top:12px;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:780px){.analytics-content{padding:17px}.analytics-summary{grid-template-columns:1fr}.analytics-table{min-width:780px}.gallery-dialog{padding-inline:42px}}
/* Small-screen navigation; desktop navigation remains unchanged. */
.mobile-nav-toggle{display:none;border:1px solid #d8e0e9;border-radius:8px;background:#fff;color:#263b5b;font:700 12px Manrope,sans-serif;padding:8px 10px;cursor:pointer}
@media(max-width:780px){.topbar{position:relative;z-index:30;overflow:visible}.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center}.topnav.mobile-open{display:flex;position:absolute;top:calc(100% - 1px);left:12px;right:12px;z-index:35;flex-direction:column;align-items:stretch;gap:0;padding:7px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(23,44,83,.16)}.topnav.mobile-open a{padding:12px 13px;border-radius:7px}.topnav.mobile-open a.hidden{display:none}}
/* Keep the account controls on their own wrapping row on phones, including landscape widths. */
@media (max-width:900px) and (pointer:coarse), (max-width:780px){
  .topbar{height:auto;min-height:65px;flex-wrap:wrap;align-content:center;gap:7px 10px;padding:8px 12px}
  .brand{flex:1 1 calc(100% - 72px);width:auto;min-width:0}
  .mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
  .topnav{display:none}
  .topnav.mobile-open{top:calc(100% - 1px)}
  .account-area{display:flex;flex:1 1 100%;width:100%;min-width:0;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px}
  .account-area .scope-select-label{flex:1 1 calc(50% - 6px);min-width:0!important;max-width:100%}
  .account-area .scope-select-label select{width:100%;min-width:0;max-width:100%;text-overflow:ellipsis}
  .account-area>.quiet-button{flex:0 1 auto;max-width:100%;white-space:normal}
}
/* Keep the compact menu usable on touch phones in landscape (781–900 CSS px). */
@media (max-width:900px) and (pointer:coarse){
  .topbar{position:relative;z-index:30;overflow:visible}
  .topnav.mobile-open{display:flex;position:absolute;top:calc(100% - 1px);left:12px;right:12px;z-index:35;flex-direction:column;align-items:stretch;gap:0;padding:7px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(23,44,83,.16)}
  .topnav.mobile-open a{padding:12px 13px;border-radius:7px}
  .topnav.mobile-open a.hidden{display:none}
}
@media (hover:hover) and (pointer:fine){
  .map-viewport{cursor:default}
  .map-viewport.interaction-active{cursor:grab}
  .map-viewport.interaction-active.dragging{cursor:grabbing}
}

/* Login password reveal control and the requested company contact footer. */
.password-input-wrap{position:relative;display:block}
.password-input-wrap input{padding-right:48px}
.password-visibility-toggle{position:absolute;top:4px;right:5px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#66758a}
.password-visibility-toggle:hover{background:#edf2f8;color:#172c53}
.password-visibility-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.company-information{padding:54px 0 0;background:#172c53;color:#fff}
.company-information-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 56px}
.company-intro{grid-column:1/-1;max-width:920px}
.company-intro .eyebrow{color:#b8c9df}
.company-intro h2{margin:0 0 12px;color:#fff;font:700 27px Manrope,sans-serif}
.company-intro>p:last-child{max-width:850px;margin:0;color:#e0e8f2;font-size:14px;line-height:1.8}
.company-contact-grid{display:grid;grid-template-columns:1fr;gap:13px;align-content:start}
.company-contact-item{display:grid;gap:5px;padding:13px 15px;border:1px solid #ffffff26;border-radius:9px;background:#ffffff0a}
.company-contact-item>span:first-child{color:#b8c9df;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.company-contact-item>a{width:fit-content;color:#fff;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.company-website-value{min-height:1px}
.company-map-block h3{margin:0 0 6px;color:#fff;font:700 16px Manrope,sans-serif}
.company-map-block>p{margin:0 0 12px;color:#d5e0ed;font-size:11px;line-height:1.6}
.company-map{display:block;width:100%;height:230px;border:0;border-radius:10px;background:#e7edf4}
.company-map-open{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:#fff;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.company-portal-brand{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid #ffffff35}
.company-portal-brand .footer-brand{color:#fff}
.company-portal-brand .footer-brand small{color:#b8c9df}
.company-portal-brand #footerRole{color:#d4deea;font-size:10px}
.developer-credit{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:8px;padding:17px 0 21px;border-top:1px solid #ffffff35;color:#d4deea;font-size:11px}
.developer-credit strong{color:#fff;font-weight:700}
.developer-credit a{color:#d4deea;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.company-information{padding-top:38px}.company-information-inner{grid-template-columns:1fr;gap:22px}.company-intro,.company-portal-brand,.developer-credit{grid-column:auto}.company-map{height:210px}.company-portal-brand{align-items:flex-start;flex-direction:column}.developer-credit{align-items:flex-start;flex-direction:column;gap:8px}}
