
.client-project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
}

.client-projects-section {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.client-project-search {
  position: relative;
  display: flex;
  align-items: center;
  width: min(100%, 440px);
  border-bottom: 1px solid #ffffff2b;
  transition: border-color .2s ease;
}

.client-project-search:focus-within { border-color: var(--accent); }
.client-project-search > svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: #8b8b82; stroke-width: 1.5; }
.client-project-search input { width: 100%; padding: .85rem .75rem; border: 0; outline: 0; background: transparent; color: #fff; font: inherit; font-size: .78rem; }
.client-project-search input::placeholder { color: #8b8b82; }
.client-project-search input::-webkit-search-cancel-button { display: none; }
.client-project-search button { border: 0; padding: .5rem 0 .5rem .75rem; background: transparent; color: #8b8b82; font-size: .6rem; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.client-project-search button:hover { color: var(--accent); }

.client-project-empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .45rem;
  min-height: 180px;
  padding: 2rem;
  border: 1px solid #ffffff12;
  color: #8b8b82;
}

.client-project-empty strong { color: #fff; font-size: .9rem; font-weight: 400; }
.client-project-empty span { font-size: .72rem; }

html[data-theme="light"] .client-project-search { border-color: #26262135; }
html[data-theme="light"] .client-project-search:focus-within { border-color: var(--accent); }
html[data-theme="light"] .client-project-search input { color: #262621; }
html[data-theme="light"] .client-project-empty { border-color: #26262118; }
html[data-theme="light"] .client-project-empty strong { color: #262621; }
html[data-theme="light"] .client-header-brand img { filter: none; opacity: 0; }
html[data-theme="light"] .client-header-brand { position: relative; }
html[data-theme="light"] .client-header-brand::before {
  content: "";
  position: absolute;
  left: 0;
  width: 150px;
  height: 25px;
  background: #8b8b82;
  -webkit-mask: url("/brand/batalhoti-nome.svg") left center / contain no-repeat;
  mask: url("/brand/batalhoti-nome.svg") left center / contain no-repeat;
}
html[data-theme="light"] .client-header-brand span,
html[data-theme="light"] .client-back-site { border-color: #26262124; }

.client-project-card {
  position: relative;
  background: #20201c;
  border: 1px solid #ffffff12;
}

.client-project-image {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  cursor: pointer;
}

.client-project-image img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.client-project-card:hover .client-project-image img {
  transform: scale(1.025);
}

.client-project-image > span {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: 0.4rem 0.55rem;
  background: #262621dd;
  color: var(--accent);
  font-size: 0.57rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.client-project-info {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem;
}

.client-project-info h2 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 400;
}

.client-project-info p {
  margin: 0;
  color: #8b8b82;
  font-size: 0.68rem;
}

.client-project-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.45rem;
}

.client-share-label {
  color: #8b8b82;
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.11em;
}

.client-project-actions button {
  min-height: 36px;
  padding: 0 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  border: 1px solid #ffffff2c;
  background: transparent;
  color: #d0d0c9;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  cursor: pointer;
}

.client-project-actions svg {
  width: 17px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.client-project-actions button:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.admin-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #ffffff18;
  border-bottom: 1px solid #ffffff18;
  margin-bottom: 4rem;
}

.admin-summary article {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding: 1.5rem 0;
}

.admin-summary article + article {
  padding-left: 2rem;
  border-left: 1px solid #ffffff18;
}

.admin-summary strong {
  color: var(--accent);
  font-size: 1.5rem;
  font-weight: 300;
}

.admin-summary span {
  color: #8b8b82;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

.admin-columns {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 2rem;
}

.admin-panel,
.admin-form-preview {
  border: 1px solid #ffffff16;
  background: #22221e;
}

.admin-panel > header,
.admin-form-preview > header {
  min-height: 105px;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #ffffff16;
}

.admin-panel small,
.admin-form-preview small {
  color: var(--accent);
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.13em;
}

.admin-panel h2,
.admin-form-preview h2 {
  margin: 0.35rem 0 0;
  font-size: 1.25rem;
  font-weight: 300;
}

.admin-panel header button,
.admin-new-link,
.admin-edit-link,
.admin-client-row button,
.admin-tour-row button {
  border: 0;
  background: transparent;
  color: #9b9b93;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
}

.admin-new-link:hover {
  color: var(--accent);
}

.admin-edit-link:hover {
  color: var(--accent);
}

.admin-back-link {
  display: inline-block;
  margin-bottom: 1rem;
  color: #8b8b82;
  font-size: 0.67rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.admin-back-link:hover {
  color: var(--accent);
}

.admin-form-page .admin-form-preview {
  margin-top: 0;
}

.admin-current-logo {
  width: 92px;
  max-height: 58px;
  object-fit: contain;
}

.admin-current-thumbnail {
  width: 112px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.admin-panel button:hover,
.admin-tour-row a:hover {
  color: var(--accent);
}
.admin-empty-row { margin: 0; padding: 1.5rem; color: #8b8b82; font-size: .75rem; }

.admin-client-row,
.admin-tour-row {
  display: grid;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
}

.admin-client-row {
  grid-template-columns: 64px 1fr auto;
}

.admin-client-row img {
  width: 64px;
  max-height: 48px;
  object-fit: contain;
}

.admin-client-row div,
.admin-tour-row div {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.admin-client-row strong,
.admin-tour-row strong {
  font-size: 0.88rem;
  font-weight: 400;
}

.admin-client-row span,
.admin-tour-row span {
  color: #8b8b82;
  font-size: 0.67rem;
}

.admin-tour-row {
  grid-template-columns: 90px 1fr auto auto;
}

.admin-tour-row > img {
  width: 90px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.admin-tour-row > a {
  color: #b6b6ae;
  font-size: 0.67rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.site-panel{min-height:calc(100svh - 66px);padding:clamp(.4rem,1vw,1rem) 7vw 8rem;background:var(--ink);font-family:"Helvetica Neue","Segoe UI Light","Avenir Next",Helvetica,Arial,sans-serif;font-weight:300}
.site-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:2rem}.client-site .site-panel-heading{margin-bottom:.75rem}
.site-panel-heading h1{margin:0;color:#8b8b82;font-family:"Helvetica Neue","Segoe UI Light",Helvetica,Arial,sans-serif;font-size:clamp(2.8rem,5.6vw,5.6rem);font-weight:200;letter-spacing:-.055em;line-height:.92}
.site-panel-account{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}.site-panel-account>span{color:#8b8b82;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.site-panel-account button{border:0;padding:0;min-height:28px;border-radius:0;background:transparent;color:var(--accent);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.client-account-identity{display:flex;align-items:center;gap:.85rem}.client-account-identity strong{font-weight:400;font-size:1rem}.client-account-identity .client-header-logo{width:105px;height:75px;max-height:75px;object-fit:contain}
.portal-header nav{font-family:"Helvetica Neue","Segoe UI Light",Helvetica,Arial,sans-serif}.site-panel .admin-summary{margin-bottom:2rem}.site-panel button,.site-panel input,.site-panel select{border-radius:0;font-weight:300}.site-panel .admin-panel{border:0;background:transparent}.site-panel .admin-panel>header{padding:1.5rem 0;min-height:90px;border-top:1px solid #ffffff18}.site-panel .admin-client-row,.site-panel .admin-tour-row{padding:1.25rem 0;border-bottom:1px solid #ffffff18}.admin-client-row img{filter:brightness(0) invert(1)}.admin-tour-row{grid-template-columns:90px minmax(0,1fr) auto}.admin-tour-row .client-project-image{width:90px}.admin-tour-row .client-project-image img{width:100%}.admin-tour-actions{display:flex!important;flex-direction:row!important;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.65rem!important}.admin-tour-actions a,.admin-tour-actions button{padding:0;min-height:30px;border:0;background:transparent;font-size:.65rem;color:#b6b6ae}.admin-tour-actions a:hover{color:var(--accent)}.admin-tour-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.admin-tour-actions .delete-tour:hover{color:var(--danger)}.admin-filter{padding:.75rem 0;border-bottom:1px solid #ffffff18}.admin-filter select{border:0;background:transparent;padding:.35rem 0;font-size:.75rem;color:#8b8b82;min-height:30px}.published-status{color:var(--accent)!important;font-size:.6rem!important}.client-project-image img{width:100%}.client-site .client-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-panel .client-project-info h2{letter-spacing:0;line-height:1.5}.site-panel .client-project-info p{line-height:1.5}.client-share-label{max-width:105px}.site-panel .empty{padding:1.5rem 0;text-align:left}.cover-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#8b8b82;background:#20201c}
html[data-theme=light] .site-panel .admin-client-row,html[data-theme=light] .site-panel .admin-tour-row,html[data-theme=light] .site-panel .admin-panel>header,html[data-theme=light] .site-panel .admin-filter,html[data-theme=light] .site-panel .admin-summary,html[data-theme=light] .site-panel .admin-summary article+article{border-color:#26262118}html[data-theme=light] .admin-client-row img{filter:brightness(0)}html[data-theme=light] .client-project-card{background:#e7e7e1;border-color:#26262118}html[data-theme=light] .client-project-actions button{color:#262621;border-color:#26262135}html[data-theme=light] .site-panel .admin-tour-actions a,html[data-theme=light] .site-panel .admin-tour-actions button{color:#5e5e58}html[data-theme=light] .site-panel input{background:transparent}
@media(max-width:1100px){.admin-columns{grid-template-columns:1fr}.client-site .client-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.site-panel{padding:1.5rem 6vw 4rem}.site-panel-heading{align-items:flex-start;gap:1rem;flex-direction:column}.site-panel-account{align-items:flex-start}.client-account-identity .client-header-logo{width:75px;height:55px}.client-site .client-project-grid{grid-template-columns:1fr}.admin-summary{grid-template-columns:1fr}.admin-summary article+article{padding-left:0;border-left:0;border-top:1px solid #ffffff18}.admin-tour-row{grid-template-columns:75px minmax(0,1fr)}.admin-tour-row .client-project-image{width:75px}.admin-tour-actions{grid-column:2}.admin-panel>header{gap:.5rem}.admin-panel header button{flex-shrink:0}.portal-header .brand span{display:none}}

html[data-theme=light] .site-panel .admin-filter select{background:transparent;color:#64645d}

/* Layout confirmado: tours com capas grandes acima dos clientes. */
.admin-stack{display:flex;flex-direction:column;gap:2.5rem}.admin-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:1.5rem 0}.admin-tour-card{position:relative;background:#20201c;border:1px solid #ffffff12}.admin-tour-card .client-project-image{width:100%;aspect-ratio:16/10}.admin-tour-card .published-status{position:absolute;top:1rem;right:1rem;background:#262621dd;padding:.4rem .55rem;text-transform:uppercase;letter-spacing:.09em}.admin-tour-info{padding:1.25rem 1.25rem 0}.admin-tour-info small{color:#8b8b82;font-size:.65rem;letter-spacing:.08em}.admin-tour-info h2{font-size:1.35rem;margin:.75rem 0;font-weight:300}.admin-tour-card .admin-tour-actions{padding:0 1.25rem 1.25rem;justify-content:flex-start}.admin-tour-card .admin-tour-actions a,.admin-tour-card .admin-tour-actions .copy-link{border:1px solid #ffffff2c;padding:.6rem .8rem;min-height:36px;letter-spacing:.08em}.admin-tour-card .delete-tour{margin-left:auto}.admin-stack .admin-client-row{max-width:560px}.client-site .site-panel-heading{align-items:center}.client-account-name{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}.client-account-name button{min-height:0;padding:0}.client-account-identity{align-items:center}.client-site .site-panel-account{gap:0}.client-site{padding-top:clamp(.4rem,1vw,1rem)}
html[data-theme=light] .admin-tour-card{background:#e7e7e1;border-color:#26262118}html[data-theme=light] .admin-tour-card .admin-tour-actions a,html[data-theme=light] .admin-tour-card .admin-tour-actions .copy-link{border-color:#26262135}
@media(max-width:1100px){.admin-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.admin-tour-grid{grid-template-columns:1fr}.client-site .site-panel-heading{align-items:flex-start}.client-account-name{align-items:flex-start}.admin-tour-card .admin-tour-actions{grid-column:auto}}

/* Barra única e cards compactos, conforme referências de 09/10. */
.site-panel .admin-tour-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) minmax(150px,.7fr) auto;gap:1.25rem;min-height:76px}.admin-tour-toolbar .client-project-search{width:100%;border-bottom:0}.site-panel .admin-tour-toolbar select{border:0;background:transparent;padding:.65rem 0;min-height:36px;color:#8b8b82;font-size:.75rem;width:100%}.admin-tour-toolbar>*+*{border-left:1px solid #ffffff18!important;padding-left:1.25rem!important}.admin-tour-grid{grid-template-columns:repeat(auto-fill,205px);gap:20px}.admin-tour-card .client-project-image{aspect-ratio:205/195}.admin-tour-card .published-status{top:.5rem;right:.5rem;font-size:.52rem!important;padding:.3rem .4rem}.admin-tour-info{padding:.75rem .75rem 0}.admin-tour-info small{font-size:.55rem}.admin-tour-info h2{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:.4rem 0 .65rem}.admin-tour-card .admin-tour-actions{padding:0 .75rem .75rem;gap:.35rem!important;flex-wrap:nowrap}.admin-tour-card .admin-tour-actions a,.admin-tour-card .admin-tour-actions .copy-link{padding:.4rem .35rem;font-size:.5rem;min-height:29px;white-space:nowrap}.admin-tour-card .admin-tour-actions svg{width:13px;height:13px}.admin-tour-card .delete-tour{min-width:19px}.admin-tour-card .cover-placeholder{position:static;display:grid;background:#20201c;color:#8b8b82;padding:0;margin:0;letter-spacing:0}
.site-form-modal{width:min(900px,94vw);padding:0;border-radius:0;background:#22221e;border:1px solid #ffffff18;font-family:"Helvetica Neue","Segoe UI Light","Avenir Next",Helvetica,Arial,sans-serif;font-weight:300}.site-form-modal .section-head{display:grid;grid-template-columns:1fr auto;gap:.65rem;padding:2rem 1.5rem;border-bottom:1px solid #ffffff18;margin:0}.site-form-modal .form-kicker{grid-column:1;color:var(--accent);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.site-form-modal .section-head h2{grid-column:1;font-weight:300;font-size:1.35rem;margin:0;letter-spacing:-.03em}.site-form-modal .section-head button{grid-column:2;grid-row:1/3;align-self:start;background:transparent;border:0}.site-form-modal .clean-fields{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem}.site-form-modal label{font-size:.7rem;font-weight:300;text-transform:uppercase;letter-spacing:.08em;color:#8b8b82}.site-form-modal input,.site-form-modal select{border:0;border-bottom:1px solid #ffffff2b;padding:1rem 0;background:transparent;border-radius:0;color:var(--paper);font-size:.8rem;text-transform:none;letter-spacing:0;margin-top:.65rem;min-height:48px}.site-form-modal input[type=file]{font-size:.72rem;padding:.75rem 0}.site-form-modal label small{display:block;font-size:.6rem;color:var(--accent);margin-top:.6rem;line-height:1.5}.site-form-modal .clean-note{padding:0 2rem;margin:0;color:#8b8b82;font-size:.72rem;line-height:1.6}.site-form-modal .form-actions{padding:1.75rem 2rem 2rem;margin:0;justify-content:flex-start;gap:1rem;border:0}.site-form-modal .form-actions button{border-radius:0;min-height:50px;font-size:.72rem;font-weight:300;letter-spacing:.09em;text-transform:uppercase}.site-form-modal .form-actions button[type=submit]{background:var(--accent);color:#262621;border-color:var(--accent)}.site-form-modal .form-actions button.close{background:transparent;border:1px solid #ffffff2b;color:#8b8b82}
html[data-theme=light] .site-form-modal{background:#e7e7e1;border-color:#26262118}html[data-theme=light] .site-form-modal .section-head,html[data-theme=light] .site-form-modal input,html[data-theme=light] .site-form-modal select,html[data-theme=light] .site-form-modal .form-actions button.close{border-color:#2626212b}html[data-theme=light] .site-form-modal input,html[data-theme=light] .site-form-modal select{background:transparent;color:#262621}html[data-theme=light] .site-panel .admin-tour-toolbar select{background:transparent;color:#64645d}html[data-theme=light] .admin-tour-toolbar>*+*{border-color:#26262118!important}
@media(max-width:800px){.site-panel .admin-tour-toolbar{grid-template-columns:1fr 1fr;gap:.65rem}.admin-tour-toolbar>*+*{border-left:0!important;padding-left:0!important}}@media(max-width:600px){.site-form-modal .clean-fields{grid-template-columns:1fr;padding:1.5rem;gap:1.25rem}.site-form-modal .form-actions{padding:1.5rem}.site-form-modal .clean-note{padding:0 1.5rem}.site-form-modal .section-head{padding:1.5rem}.admin-tour-grid{grid-template-columns:repeat(auto-fill,minmax(0,205px))}}
.admin-tour-card .admin-tour-actions a,.admin-tour-card .admin-tour-actions .copy-link{font-size:.6rem;padding:.4rem .3rem;letter-spacing:0}

/* Menus próprios: cores consistentes com o site e largura do texto selecionado. */
.themed-select{position:relative;min-width:0;width:max-content;max-width:100%;font-family:inherit}.select-source{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0;clip-path:inset(50%);pointer-events:none}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:36px;padding:0!important;border:0;background:transparent;color:#8b8b82;font-size:.75rem;text-align:left;white-space:nowrap}.select-trigger::after{content:'';width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-right:3px;flex-shrink:0}.select-trigger:hover{background:transparent;color:var(--paper)}.select-options{position:absolute;top:calc(100% + 8px);left:0;min-width:100%;width:max-content;max-width:min(320px,80vw);padding:.35rem 0;background:#262621;border:1px solid #ffffff2b;box-shadow:0 8px 24px #0004;z-index:80;max-height:280px;overflow:auto;text-transform:none;letter-spacing:0}.select-options button{display:block;width:100%;min-height:36px;padding:.6rem .85rem!important;border:0;border-radius:0;background:transparent;color:#d0d0c9;font-family:inherit;font-size:.75rem!important;text-align:left;text-transform:none!important;letter-spacing:0!important;white-space:nowrap}.select-options button[aria-selected=true]{color:var(--accent);background:#f9b23312}.select-options button:hover,.select-options button:focus-visible{color:var(--accent);background:#f9b2331c;outline:0}.themed-select.invalid .select-trigger{outline:1px solid var(--danger);outline-offset:5px}.site-form-modal .themed-select{width:100%;margin-top:.65rem;border-bottom:1px solid #ffffff2b}.site-form-modal .select-trigger{padding:1rem 0!important;min-height:48px;color:var(--paper);text-transform:none;letter-spacing:0;font-size:.8rem}.site-form-modal label .select-options button{font-size:.8rem!important}.site-form-modal{overflow:visible}.site-form-modal .clean-fields{overflow:visible}
.site-panel .admin-tour-toolbar{display:flex;align-items:center;gap:0;min-height:0;padding:.8rem 0}.site-panel .admin-tour-toolbar .client-project-search{width:220px;max-width:220px;height:36px;flex:0 1 220px;border-bottom:0}.admin-tour-toolbar .client-project-search input{padding:0 .75rem;min-height:36px;height:36px}.admin-tour-toolbar .themed-select{flex:0 0 auto;height:36px;max-width:250px;margin-left:1.25rem;padding-left:1.25rem!important}.site-panel .admin-tour-toolbar>#create-tour{margin-left:auto;min-height:36px;height:36px;padding-top:0;padding-bottom:0;white-space:nowrap}.admin-tour-toolbar .select-trigger{overflow:hidden;text-overflow:ellipsis;max-width:230px}
.client-site .client-project-grid{grid-template-columns:repeat(auto-fill,205px);gap:20px}.client-site .client-project-image{aspect-ratio:205/195}.client-site .client-project-info{display:flex;flex-direction:column;align-items:stretch;padding:.75rem;gap:.65rem}.client-site .client-project-info h2{font-size:.88rem;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 .35rem;line-height:1.2}.client-site .client-project-info p{font-size:.6rem;line-height:1.5}.client-site .client-project-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:.35rem}.client-site .client-share-label{font-size:.5rem;max-width:65px}.client-site .client-project-actions button{min-height:29px;font-size:.6rem;padding:.4rem .3rem;letter-spacing:0;gap:.3rem;white-space:nowrap}.client-site .client-project-actions svg{width:13px}
html[data-theme=light] .select-options{background:#f0f0eb;border-color:#2626212b;box-shadow:0 8px 24px #26262120}html[data-theme=light] .select-options button{color:#5e5e58}html[data-theme=light] .select-options button[aria-selected=true],html[data-theme=light] .select-options button:hover,html[data-theme=light] .select-options button:focus-visible{color:#8c5900;background:#f9b23325}html[data-theme=light] .site-form-modal .themed-select{border-color:#2626212b}html[data-theme=light] .site-form-modal .select-trigger{color:#262621}.site-panel .admin-tour-toolbar .select-options button{border:0!important}select option{background:var(--ink);color:var(--paper)}
@media(max-width:800px){.site-panel .admin-tour-toolbar{flex-wrap:wrap;gap:.5rem}.admin-tour-toolbar .themed-select{margin-left:0;padding-left:.75rem!important}.site-panel .admin-tour-toolbar .client-project-search{flex-basis:180px;width:180px}.site-panel .admin-tour-toolbar>#create-tour{margin-left:auto}}@media(max-width:600px){.site-form-modal{max-height:90dvh;overflow:auto}.site-form-modal .select-options{position:relative;top:0;margin:.5rem 0;width:100%;box-shadow:none}.client-site .client-project-grid{grid-template-columns:repeat(auto-fill,205px)}}
.site-panel .admin-panel>header.admin-tour-toolbar{min-height:0;padding:.6rem 0}.admin-tour-toolbar .select-trigger{text-transform:none;letter-spacing:0;font-weight:300}.site-form-modal .select-trigger,.select-options button{font-weight:300}.admin-tour-card,.client-site .client-project-card{min-height:300px}

/* Painéis alinhados às mesmas margens de 4vw do cabeçalho. */
.site-panel{padding-inline:4vw}
.site-form-modal .import-url[hidden]{display:none}.site-form-modal .import-toggle{grid-column:1/-1}.site-form-modal .import-toggle span{display:flex;align-items:center;gap:.65rem;text-transform:none}.site-form-modal .import-toggle input{width:16px;min-height:16px;margin:0;padding:0;accent-color:var(--accent)}.site-form-modal input:disabled{opacity:.5}

/* Aparência explícita para não depender do botão nativo de cada navegador. */
.site-form-modal input[type=file]::file-selector-button{appearance:none;background:transparent;color:var(--paper);border:1px solid #ffffff2b;border-radius:0;padding:.45rem .65rem;margin-right:.65rem;font:inherit;cursor:pointer}
.site-form-modal input[type=file]::file-selector-button:hover{color:var(--accent);border-color:var(--accent)}
html[data-theme=light] .site-form-modal input[type=file]::file-selector-button{color:#262621;border-color:#26262135}
html[data-theme=light] .site-form-modal input[type=file]::file-selector-button:hover{color:#9a6600;border-color:#9a6600}
.site-panel .admin-summary article{padding-top:.65rem;padding-bottom:.65rem;min-height:0}
.site-panel .admin-summary article:first-child{padding:0}
.admin-summary .summary-link{display:flex;align-items:baseline;gap:1rem;padding:.65rem 0;width:100%;color:inherit;text-decoration:none}
.admin-summary .summary-link:hover span{color:var(--accent)}
.admin-summary .summary-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.architects-back{display:inline-block;margin-bottom:1.5rem;color:var(--muted);font-size:.8rem;text-decoration:none}
.architects-back:hover{color:var(--accent)}
.architects-panel .admin-client-row{max-width:none}
.site-panel .architects-panel>header{align-items:center}
.architects-panel>header h2{margin:0}

/* Shared portal header for panel, architects, editors and video pages. */
.topbar.portal-header{height:72px;min-height:72px;padding:0 4vw;gap:2rem;background:var(--ink);border:0;display:flex;align-items:center;justify-content:space-between}
.portal-header .brand{flex-shrink:0;gap:1.25rem}
.portal-header .brand-logo{width:150px;height:auto;max-height:30px}
.portal-header .brand span{font-size:.62rem;letter-spacing:.12em;border-left:1px solid var(--border);padding-left:1.25rem;text-transform:uppercase;color:var(--muted)}
.portal-header nav{display:flex;align-items:center;gap:1.5rem;min-width:0}
.portal-header nav .client-header-logo{width:90px;height:38px;max-height:38px;object-fit:contain}
.portal-header .header-account-name{font-size:.85rem;font-weight:400;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-header #logout{color:var(--accent);padding:.35rem 0;font-size:.85rem}
.portal-header .theme-toggle{margin:0;padding:.35rem 0;order:4}
@media(max-width:750px){.topbar.portal-header{height:auto;min-height:72px;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem 4vw}.portal-header nav{gap:1rem;margin-left:auto}.portal-header .brand span{display:none}.portal-header nav .client-header-logo{width:65px;height:30px}.portal-header .header-account-name{max-width:120px;font-size:.75rem}.portal-header #logout{font-size:.75rem}}

/* Deliberate two-row account header on phones. */
@media(max-width:600px){
.topbar.portal-header:has(#logout){display:grid;grid-template-columns:65px minmax(0,1fr) auto;align-items:center;gap:.65rem .75rem;padding:.75rem 4vw}
.portal-header:has(#logout) .brand{grid-row:1;grid-column:1/3}
.portal-header:has(#logout) nav{display:contents}
.portal-header:has(#logout) .theme-toggle{grid-row:1;grid-column:3;justify-self:end;white-space:nowrap}
.portal-header:has(#logout) .header-account-name{grid-row:2;grid-column:1/3;max-width:none;min-width:0}
.portal-header:has(#logout) nav:has(.client-header-logo) .header-account-name{grid-column:2}
.portal-header:has(#logout) .client-header-logo{grid-row:2;grid-column:1}
.portal-header:has(#logout) #logout{grid-row:2;grid-column:3;justify-self:end;min-height:32px}
}
/* Two compact cards need 430px; use the full inner width below that. */
.site-panel{container-type:inline-size}
@container(max-width:429px){
.site-panel .admin-tour-grid,.client-site .client-project-grid{grid-template-columns:minmax(0,1fr)}
.admin-tour-card,.client-site .client-project-card{width:100%;min-width:0}
}
@media(max-width:750px){
.topbar.portal-header .brand{display:flex;flex-direction:row;align-items:center;gap:.65rem;min-width:0}
.topbar.portal-header .brand span{display:block;border-left:1px solid var(--border);padding-left:.65rem;margin:0;font-size:.55rem;line-height:1.3;white-space:nowrap}
.topbar.portal-header .brand-logo{width:clamp(95px,32vw,150px)}
}
