.onboarding-progress button{border:0;background:#eef2f5;color:var(--muted);padding:10px;text-align:center;border-radius:7px;font-size:12px;font-weight:700}
.onboarding-progress button.active{background:var(--navy);color:#fff}

/* Catálogo y fotografías profesionales V345 */
.professional-photo-manager{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center}
.professional-photo-preview{width:140px;height:140px;border-radius:18px;background:#eef2f5;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-weight:700}
.professional-photo-preview img{width:100%;height:100%;object-fit:cover}
.upload-box.compact{margin:0}.professional-form-message{min-height:1.4em;color:var(--muted)}
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px}
.portfolio-card{border:1px solid #dce2e7;border-radius:14px;overflow:hidden;background:#fff}
.portfolio-card img{width:100%;height:160px;object-fit:cover;background:#eef2f5}
.portfolio-card-body{padding:14px}.portfolio-card-body h3{margin:0 0 6px}.portfolio-card-body p{white-space:pre-line}
.portfolio-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.portfolio-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.portfolio-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff3cd;color:#73510d;font-size:12px;font-weight:800}
.portfolio-status.approved{background:#dcfce7;color:#166534}.portfolio-status.rejected{background:#fee2e2;color:#991b1b}
.professional-card .avatar img,.modal-profile>.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.admin-portfolio-item{border:1px solid #dce2e7;border-radius:14px;padding:16px;margin-top:12px}.admin-portfolio-item .portfolio-gallery{max-width:620px}
@media(max-width:640px){.professional-photo-manager{grid-template-columns:1fr}.professional-photo-preview{width:112px;height:112px}.portfolio-gallery{grid-template-columns:repeat(2,1fr)}}
/* V346: INICIO AJUSTE VISUAL FOTO */
.professional-photo-manager {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding-top: 6px;
}

.professional-photo-preview {
  width: 112px;
  height: 112px;
  border-radius: 16px;
  border: 1px solid rgba(240, 190, 30, .45);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .22);
}

#professionalPhotoForm {
  width: 100%;
  max-width: 580px;
  min-width: 0;
  display: grid;
  gap: 14px;
}

.upload-box.compact {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  overflow: hidden;
  border: 1px dashed rgba(240, 190, 30, .72);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
  color: #f5f7f6;
  font-size: 13px;
  line-height: 1.35;
}

.upload-box.compact:hover,
.upload-box.compact:focus-within {
  border-color: #f0be1e;
  background: rgba(240, 190, 30, .07);
}

.upload-box.compact input[type='file'] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 3px 0 1px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d8dfdc;
  font-size: 12px;
  white-space: normal;
}

.upload-box.compact input[type='file']::file-selector-button {
  margin-right: 12px;
  padding: 9px 14px;
  border: 1px solid #f0be1e;
  border-radius: 8px;
  background: #111713;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.upload-box.compact input[type='file']::file-selector-button:hover {
  background: #f0be1e;
  color: #07150e;
}

.upload-box.compact span {
  display: block;
  margin: 0;
  color: #f0be1e;
  font-size: 12px;
  font-weight: 800;
}

.upload-box.compact small {
  display: block;
  margin: 0;
  color: #b9c3bf;
  font-size: 11px;
  font-weight: 500;
}

#professionalPhotoForm .card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

#professionalPhotoForm .card-actions button {
  min-height: 42px;
  margin: 0;
  white-space: nowrap;
}

#professionalPhotoMessage {
  min-height: 0;
  margin: 0;
  font-size: 12px;
}

@media (max-width: 640px) {
  .professional-photo-manager {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .professional-photo-preview {
    width: 104px;
    height: 104px;
  }

  #professionalPhotoForm {
    max-width: none;
  }

  .upload-box.compact {
    padding: 14px;
  }

  .upload-box.compact input[type='file']::file-selector-button {
    display: block;
    width: 100%;
    margin: 0 0 9px;
  }

  #professionalPhotoForm .card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  #professionalPhotoForm .card-actions button {
    width: 100%;
  }
}
/* V346: FIN AJUSTE VISUAL FOTO */

/* V347: foto profesional desde Cuenta */
.account-avatar-wrap {
  position: relative;
  display: inline-grid;
  place-items: center;
  margin: 0 auto;
}

#accountProfileAvatar {
  overflow: hidden;
}

#accountProfileAvatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}

.account-photo-edit {
  position: absolute;
  right: -3px;
  bottom: -3px;
  width: 34px;
  height: 34px;
  min-width: 34px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 2px solid #111713;
  border-radius: 50%;
  background: #f0be1e;
  color: #07150e;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .28);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

.account-photo-edit:hover,
.account-photo-edit:focus-visible {
  background: #ffd85a;
  transform: translateY(-1px);
}

.account-photo-edit[hidden] {
  display: none !important;
}

.professional-photo-modal-card {
  width: min(680px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.professional-photo-modal-card h2 {
  margin-top: 6px;
}

.professional-photo-modal-card .professional-photo-manager {
  margin-top: 20px;
}

@media (max-width: 640px) {
  .account-photo-edit {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }

  .professional-photo-modal-card {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    padding: 22px 16px 18px;
  }

  .professional-photo-modal-card .professional-photo-preview {
    margin: 0 auto;
  }
}
/* V347: FIN foto profesional desde Cuenta */

/* V348: catálogo desde Cuenta y galería pública */
#accountPortfolio[hidden]{display:none!important}
.account-portfolio{border-bottom:1px solid #d9dedb;color:#17251e}
.account-portfolio>summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;padding:18px 0;list-style:none;font-size:14px}
.account-portfolio>summary::-webkit-details-marker{display:none}
.account-portfolio[open]>summary span{transform:rotate(90deg)}
.account-portfolio>summary:focus-visible{outline:2px solid #19734b;outline-offset:3px}
#accountPortfolio .professional-portfolio-panel{margin:0;padding:0;border:0;background:#fff;box-shadow:none}
#accountPortfolio .panel-head{flex-wrap:wrap;gap:12px}
#accountPortfolio .portfolio-help,#accountPortfolio label,#accountPortfolio small,#accountPortfolio .upload-box span,#accountPortfolio .portfolio-card,#accountPortfolio .professional-form-message{color:#34463c}
#accountPortfolio h2,#accountPortfolio h3,#accountPortfolio strong{color:#111713}
#accountPortfolio .eyebrow{color:#17633f}
#accountPortfolio .request-form{padding:16px}
#accountPortfolio input,#accountPortfolio textarea{color:#17251e;background:#fff;min-width:0;max-width:100%}
#accountPortfolio .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#accountPortfolio .portfolio-grid,.public-portfolio-gallery{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
#accountPortfolio .card-actions{flex-wrap:wrap}
#accountPortfolio .portfolio-card-body{overflow-wrap:anywhere}
#professionalPhotoForm .upload-box,#professionalPhotoForm .upload-box input,#professionalPhotoForm .upload-box small,#professionalPhotoMessage{color:#34463c}
#professionalPhotoForm .upload-box span{color:#73510d}
.public-portfolio-gallery{margin:0;padding:10px;gap:8px}
.public-portfolio-gallery a{display:block}
.public-portfolio-gallery a:focus-visible{outline:3px solid #19734b;outline-offset:2px}
#modalContent .portfolio-card{color:#17251e;overflow-wrap:anywhere}
#modalContent .portfolio-card h3,#modalContent .portfolio-card small,#modalContent .portfolio-card p{color:#17251e}
@media(max-width:640px){
  #accountPortfolio .form-grid{grid-template-columns:minmax(0,1fr)}
  #accountPortfolio .span-2{grid-column:auto}
  #accountPortfolio .request-form{padding:10px}
}

/* Cuenta: trabajos en cuadrícula */
#accountWorkGallery[hidden]{display:none!important}
.account-work-gallery{margin-top:28px;padding-top:20px;border-top:1px solid #dce2e7;text-align:left;min-width:0}
.account-work-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.account-work-heading h3{font-size:15px;margin:0;color:#17251e}
#accountWorkCount{font-size:12px;background:#eef2ef;color:#34463c;border-radius:12px;padding:3px 8px}
.account-work-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
.account-work-tile{position:relative;aspect-ratio:1;overflow:hidden;border:0;border-radius:3px;padding:0;background:#eef2ef;color:#17251e;cursor:pointer;min-width:0}
.account-work-tile img{width:100%;height:100%;object-fit:cover;display:block}
.account-work-total{position:absolute;right:3px;top:3px;background:#111a;color:#fff;border-radius:3px;font-size:10px;padding:2px 3px}
.account-work-caption{position:absolute;bottom:0;left:0;right:0;padding:10px 4px 4px;background:linear-gradient(transparent,#000b);color:white;font-size:10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.account-work-tile:focus-visible{outline:3px solid #19734b;outline-offset:2px}
.account-work-empty{grid-column:1/-1;font-size:13px;color:#526158;line-height:1.5}
#accountAddWork{width:100%;margin-top:14px;font-size:12px}
.account-work-dialog{border:1px solid #e9bf39;border-radius:16px;padding:0;width:min(560px,calc(100vw - 24px));max-height:90dvh;overflow:auto;background:white;color:#17251e}
.account-work-dialog::backdrop{background:#000b}
.account-work-dialog>form{display:flex;justify-content:flex-end;padding:8px}
.account-work-close{width:36px;height:36px;border:0;background:#f0f3f1;color:#17251e;border-radius:50%;font-size:24px;cursor:pointer}
.account-work-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
.account-work-slides figure{flex:0 0 100%;width:100%;min-width:0;margin:0;scroll-snap-align:start;background:#f2f4f2}
.account-work-slides img{width:100%;height:min(52vh,480px);object-fit:contain;display:block}
.account-work-slides figcaption{text-align:center;padding:6px;font-size:12px}
.account-work-description{padding:20px;overflow-wrap:anywhere}
.account-work-description h2{margin:12px 0 6px;font-size:22px}
.account-work-description p{white-space:pre-line}
.account-work-hint{font-size:12px;color:#526158}

/* Perfil público: catálogo tipo Instagram */
.public-portfolio>summary{cursor:pointer;font-weight:800;padding:18px 0;list-style:none}
.public-portfolio>summary::-webkit-details-marker{display:none}
.public-portfolio>summary:before{content:'▶';display:inline-block;margin-right:7px;font-size:12px;transition:transform .2s}
.public-portfolio[open]>summary:before{transform:rotate(90deg)}
.public-portfolio>h3{margin:12px 0 18px}
.public-work-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}
.public-work-tile{position:relative;aspect-ratio:1;min-width:0;overflow:hidden;padding:0;border:0;border-radius:4px;background:#eef2ef;color:#17251e;cursor:pointer}
.public-work-tile img{display:block;width:100%;height:100%;object-fit:cover}
.public-work-total{position:absolute;top:5px;right:5px;padding:3px 5px;border-radius:4px;background:#111a;color:#fff;font-size:11px}
.public-work-caption{position:absolute;right:0;bottom:0;left:0;padding:18px 5px 5px;overflow:hidden;background:linear-gradient(transparent,#000c);color:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.public-work-tile:focus-visible{outline:3px solid #19734b;outline-offset:2px}
.public-work-dialog{z-index:80}
@media(max-width:640px){
  .public-work-tiles{gap:3px}
  .public-work-caption{font-size:10px}
}

/* V353: elección directa de profesional desde la solicitud */
.request-recipient-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 14px}
.request-recipient-option{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;padding:17px;text-align:left;border:1px solid #d8dedb;border-radius:12px;background:#fff;color:#17251e;transition:border-color .2s,background .2s,box-shadow .2s}
.request-recipient-option strong{font-size:15px}
.request-recipient-option small{color:#617069;line-height:1.45}
.request-recipient-option.active{border-color:#d4a91d;background:#fffaf0;box-shadow:0 0 0 2px rgba(212,169,29,.13)}
.request-recipient-option:focus-visible{outline:3px solid #19734b;outline-offset:2px}
.request-selected-professional{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0 0 22px;padding:14px;border:1px solid #b9d9c7;border-radius:12px;background:#f1faf5;color:#17251e}
.request-selected-professional[hidden]{display:none!important}
.request-selected-avatar{width:48px;height:48px;overflow:hidden;display:grid;place-items:center;border-radius:50%;background:#123b2a;color:#fff;font-weight:800}
.request-selected-avatar img{width:100%;height:100%;object-fit:cover}
.request-selected-professional>div:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:3px}
.request-selected-professional small,.request-selected-professional span{color:#526158;font-size:12px}
.request-selected-professional strong{overflow-wrap:anywhere}
.request-selected-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.request-selected-actions button{border:1px solid #d4a91d;border-radius:7px;padding:8px 10px;background:#fff;color:#17251e;font-weight:700}
.request-details-step{margin-top:24px}
@media(max-width:640px){
  .request-recipient-options{grid-template-columns:1fr}
  .request-selected-professional{grid-template-columns:auto 1fr}
  .request-selected-actions{grid-column:1/-1;justify-content:stretch}
  .request-selected-actions button{flex:1}
}

/* V354: direcciones guardadas y acceso al mapa */
.request-address-block{margin:8px 0 2px;padding:16px;border:1px solid #d8dedb;border-radius:12px;background:#f8faf9}
.request-address-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#17251e}
.request-address-heading button{border:0;background:transparent;color:#17633f;font-size:12px;font-weight:800;text-decoration:underline}
.request-address-block>label,.request-address-exact{display:block;margin-top:10px}
.request-address-exact>label{display:block;margin-bottom:6px;color:#526158;font-size:12px;font-weight:700}
.request-address-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.request-address-input input{min-width:0}
.request-address-input button{border:1px solid #d4a91d;border-radius:8px;padding:0 16px;background:#fff;color:#17251e;font-weight:800;white-space:nowrap}
.request-address-block>small{display:block;margin-top:9px;color:#617069;line-height:1.4}
@media(max-width:640px){
  .request-address-heading{align-items:flex-start;flex-direction:column}
  .request-address-input{grid-template-columns:1fr}
  .request-address-input button{min-height:44px}
}

/* V355: selector visual de ubicación exacta */
.request-map-card{width:min(720px,96vw)}
.request-map-card h2{margin-bottom:6px}
.request-map-help{margin:0 0 14px;color:#59675f}
.request-map{height:min(52vh,430px);min-height:300px;border:1px solid #d7ded9;border-radius:12px;overflow:hidden;background:#eef2ef;z-index:1}
.request-map-selection{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border-radius:10px;background:#f4f7f5;border:1px solid #dce3df}
.request-map-selection span{color:#637168;font-size:12px;font-weight:700}
.request-map-selection strong{color:#17251e;line-height:1.4}
.request-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.request-map-actions button{min-height:44px}
.request-map-privacy{display:block;margin-top:10px;color:#66736c;line-height:1.4}
.request-map-card .leaflet-control-attribution{font-size:10px}
@media(max-width:600px){
  .request-map-card{padding:18px 14px}
  .request-map{height:48vh;min-height:280px}
  .request-map-actions{grid-template-columns:1fr}
}

/* V356: presupuesto opcional en la solicitud */
.request-budget-block{display:grid;gap:10px;padding:16px;border:1px solid #d8dedb;border-radius:12px;background:#f8faf9}
.request-budget-block>strong{color:#17251e}
.request-budget-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.request-budget-options>label{display:block;cursor:pointer}
.request-budget-options input{position:absolute;opacity:0;pointer-events:none}
.request-budget-options span{display:grid;gap:4px;height:100%;padding:13px;border:1px solid #d5ddd8;border-radius:10px;background:#fff;color:#17251e}
.request-budget-options small{color:#657269;font-weight:400}
.request-budget-options input:checked+span{border-color:#d4a91d;background:#fffaf0;box-shadow:inset 4px 0 #17633f}
.request-budget-options input:focus-visible+span{outline:3px solid rgba(23,99,63,.22);outline-offset:2px}
.request-budget-amount{display:grid;gap:6px;max-width:360px;color:#526158;font-size:12px;font-weight:700}
.request-budget-amount[hidden]{display:none}
@media(max-width:600px){.request-budget-options{grid-template-columns:1fr}.request-budget-amount{max-width:none}}

/* V357: cinco indicadores administrativos, incluido clientes registrados */
#view-admin .stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
#view-admin .stats-grid article:nth-child(1):before{content:"CL";font-size:12px;font-weight:900}
#view-admin .stats-grid article:nth-child(2):before{content:"◆"}
#view-admin .stats-grid article:nth-child(3):before{content:"▤";font-size:20px;font-weight:400}
#view-admin .stats-grid article:nth-child(4):before{content:"S/";font-size:13px;font-weight:800}
#view-admin .stats-grid article:nth-child(5):before{content:"★";font-size:20px;font-weight:400}
@media(max-width:1100px){#view-admin .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){#view-admin .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#view-admin .stats-grid{grid-template-columns:1fr}}

/* V358: solicitudes activas del administrador en cuadricula adaptable */
#view-admin #adminRequestList{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  padding-top:16px;
}
#view-admin #adminRequestList .request-item{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:0;
  min-height:230px;
  margin:0;
  padding:18px;
}
#view-admin #adminRequestList .request-item>div{
  flex:1;
  min-width:0;
}
#view-admin #adminRequestList .request-item h3{
  margin-top:10px;
  overflow-wrap:anywhere;
}
#view-admin #adminRequestList .request-item p,
#view-admin #adminRequestList .request-item small{
  overflow-wrap:anywhere;
}
#view-admin #adminRequestList .request-item button{
  width:100%;
  min-height:44px;
  margin-top:18px;
}
#view-admin #adminRequestList>.empty-state{
  grid-column:1/-1;
}
@media(max-width:1050px){
  #view-admin #adminRequestList{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  #view-admin #adminRequestList{grid-template-columns:1fr}
  #view-admin #adminRequestList .request-item{min-height:0}
}

/* V359: centro de operaciones con pestañas y panel maestro-detalle */
.admin-operations-workspace{
  margin:20px 0;
  overflow:hidden;
  border:1px solid #d6a91f;
  border-top:3px solid #d6a91f;
  border-radius:14px;
  background:linear-gradient(145deg,#07100b 0%,#061a10 58%,#072717 100%);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  color:#f4f7f4;
}
.admin-operations-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:24px 26px 18px;
}
.admin-operations-heading h2{margin:5px 0 4px;color:#fff;font-size:27px}
.admin-operations-heading p{margin:0;color:#b9c5be}
.admin-operations-heading .secondary{
  border-color:#d9ad2d;
  background:transparent;
  color:#f6ce5e;
}
.admin-operations-heading .secondary[hidden]{display:none}
.admin-operations-tabs{
  display:flex;
  gap:14px;
  padding:0 26px;
  border-bottom:1px solid rgba(222,174,47,.72);
}
.admin-operations-tabs button{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:180px;
  margin:0 0 -1px;
  padding:14px 20px;
  border:1px solid #344b3d;
  border-bottom:2px solid transparent;
  border-radius:10px 10px 0 0;
  background:#0b1710;
  color:#eef4ef;
  text-align:left;
}
.admin-operations-tabs button:hover{border-color:#67806e}
.admin-operations-tabs button.active{
  border-color:#256c47;
  border-bottom-color:#e1b33a;
  background:linear-gradient(135deg,#0e2518,#0c3a25);
  box-shadow:inset 0 -2px #e1b33a;
}
.admin-ops-tab-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid #19a05d;
  border-radius:50%;
  color:#70eba6;
  font-size:18px;
}
.admin-operations-tabs b{
  min-width:27px;
  margin-left:auto;
  padding:4px 8px;
  border:1px solid #466052;
  border-radius:20px;
  background:#15271c;
  color:#d8e1da;
  text-align:center;
  font-size:12px;
}
.admin-operations-filters{
  display:grid;
  grid-template-columns:minmax(250px,1fr) minmax(180px,.38fr) minmax(190px,.42fr) auto;
  gap:12px;
  align-items:end;
  padding:20px 26px;
}
.admin-operations-filters label{display:grid;gap:6px;color:#cbd4ce;font-size:12px}
.admin-operations-filters select,
.admin-operations-filters input{
  width:100%;
  height:46px;
  border:1px solid #365a45;
  border-radius:9px;
  outline:none;
  background:#0a2819;
  color:#f4f7f4;
  padding:0 13px;
}
.admin-operations-filters select:focus,
.admin-operations-filters input:focus{border-color:#dcb13a;box-shadow:0 0 0 3px rgba(220,177,58,.14)}
.admin-ops-search{position:relative;align-self:end}
.admin-ops-search>span{position:absolute;z-index:1;left:14px;bottom:11px;color:#c9d5cd;font-size:22px}
.admin-ops-search input{padding-left:44px}
.admin-ops-search input::placeholder{color:#aebbb3}
.admin-ops-clear{height:46px;border-color:#d9ad2d;background:transparent;color:#f3c94f;white-space:nowrap}
.admin-operations-body{
  display:grid;
  grid-template-columns:minmax(330px,.68fr) minmax(0,1.45fr);
  gap:18px;
  padding:0 26px 26px;
}
.admin-operations-list,
.admin-operations-detail{
  min-width:0;
  border:1px solid #365543;
  border-radius:12px;
  background:rgba(6,23,14,.88);
}
.admin-operations-list{overflow:hidden}
.admin-operations-list-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:15px 18px;
  border-bottom:1px solid #2e4d3a;
  color:#c8d4cc;
  font-size:13px;
}
.admin-operations-list-head strong{color:#fff}
#adminOpsList{max-height:610px;overflow:auto;scrollbar-color:#40634d #0a1c12}
.admin-ops-list-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:11px 14px;
  width:100%;
  padding:17px 18px;
  border:0;
  border-bottom:1px solid #294333;
  background:transparent;
  color:#f5f7f5;
  text-align:left;
}
.admin-ops-list-item:hover{background:#102a1b}
.admin-ops-list-item.active{
  outline:1px solid #e0b237;
  outline-offset:-2px;
  background:linear-gradient(90deg,#172818,#293019);
}
.admin-ops-list-item>div{min-width:0}
.admin-ops-list-item strong,.admin-ops-list-item small{display:block}
.admin-ops-list-item strong{margin-bottom:5px;overflow-wrap:anywhere}
.admin-ops-list-item small{color:#bbc7bf;line-height:1.45;overflow-wrap:anywhere}
.admin-ops-list-item-meta{display:grid;justify-items:end;align-content:center;gap:8px;white-space:nowrap}
.admin-ops-list-item-meta>b{font-size:17px;color:#fff}
.admin-ops-list-item .status{padding:4px 9px;border:1px solid #24a766;background:#0a3824;color:#75eca5}
.admin-ops-list-item .status.done{border-color:#cf9f22;background:#30270d;color:#f5cf65}
.admin-ops-list-item .status.cancelled{border-color:#bd3838;background:#351515;color:#ff8a8a}
.admin-operations-detail{
  min-height:460px;
  padding:24px;
  border-color:#d5a81e;
  background:linear-gradient(145deg,#071b10,#082517);
}
.admin-ops-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid #294c37;
}
.admin-ops-detail-head h3{margin:5px 0;color:#fff;font-size:24px;overflow-wrap:anywhere}
.admin-ops-detail-head p{margin:0;color:#b8c5bc;overflow-wrap:anywhere}
.admin-ops-detail-head time{color:#c7d0ca;font-size:12px;white-space:nowrap}
.admin-ops-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0}
.admin-ops-detail-actions button{border-color:#ddb139;background:transparent;color:#f4cb59}
.admin-ops-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:20px 0;
  border:1px solid #365543;
  border-radius:10px;
  background:#0c2b1b;
}
.admin-ops-summary div{padding:17px;border-right:1px solid #365543}
.admin-ops-summary div:last-child{border-right:0}
.admin-ops-summary span,.admin-ops-summary strong{display:block}
.admin-ops-summary span{color:#b9c5bd;font-size:12px}
.admin-ops-summary strong{margin-top:7px;color:#fff;font-size:20px}
.admin-ops-detail-section{margin-top:18px;padding:18px;border:1px solid #284b35;border-radius:10px;background:#092317}
.admin-ops-detail-section>h4{margin:0 0 15px;color:#fff}
.admin-ops-detail-section p{color:#c9d3cc;line-height:1.55}
.admin-ops-detail-section b{color:#f0c653}
.admin-ops-timeline{display:grid;gap:0}
.admin-ops-timeline>div{position:relative;display:grid;grid-template-columns:24px 1fr auto;gap:12px;padding:0 0 22px}
.admin-ops-timeline>div:last-child{padding-bottom:0}
.admin-ops-timeline>div:before{content:"";position:absolute;left:9px;top:18px;bottom:0;width:1px;background:#5a8068}
.admin-ops-timeline>div:last-child:before{display:none}
.admin-ops-timeline i{z-index:1;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#52dfa0;color:#052014;font-style:normal;font-weight:900}
.admin-ops-timeline span{color:#eef3ef;font-weight:700}
.admin-ops-timeline small{color:#aebbb2;text-align:right}
.admin-operations-detail .project-card{margin:0;border:0;background:transparent;box-shadow:none;padding:0}
.admin-operations-detail .project-card .project-stage,
.admin-operations-detail .project-card .change-order{background:#0b2a1b}
.admin-ops-empty{padding:28px;color:#b7c3ba;text-align:center}
@media(max-width:1050px){
  .admin-operations-tabs button{min-width:0;flex:1}
  .admin-operations-filters{grid-template-columns:1fr 1fr}
  .admin-operations-body{grid-template-columns:minmax(290px,.8fr) minmax(0,1.2fr)}
}
@media(max-width:760px){
  .admin-operations-heading{align-items:flex-start;flex-direction:column;padding:20px}
  .admin-operations-heading .secondary{width:100%}
  .admin-operations-tabs{gap:6px;padding:0 12px;overflow:auto}
  .admin-operations-tabs button{min-width:145px;padding:11px}
  .admin-operations-filters{grid-template-columns:1fr;padding:18px}
  .admin-operations-body{grid-template-columns:1fr;padding:0 18px 18px}
  .admin-operations-list #adminOpsList{max-height:430px}
  .admin-operations-detail{min-height:0;padding:18px}
  .admin-ops-detail-head{flex-direction:column}
}
@media(max-width:480px){
  .admin-ops-summary{grid-template-columns:1fr}
  .admin-ops-summary div{border-right:0;border-bottom:1px solid #365543}
  .admin-ops-summary div:last-child{border-bottom:0}
  .admin-ops-timeline>div{grid-template-columns:24px 1fr}
  .admin-ops-timeline small{grid-column:2;text-align:left}
}

/* V360: centro de revisiones con el mismo patrón maestro-detalle */
.admin-review-total{
  align-self:center;
  border-color:#d8aa28;
  background:#30280e;
  color:#f5cf62;
  white-space:nowrap;
}
#adminReviewList{
  max-height:610px;
  overflow:auto;
  scrollbar-color:#40634d #0a1c12;
}
.admin-review-profile-intro{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin:20px 0;
  padding:16px;
  border:1px solid #31553e;
  border-radius:11px;
  background:#0a2919;
}
.admin-review-profile-intro p{margin:7px 0 0;color:#c4d0c8;line-height:1.5}
.admin-review-profile-photo{
  width:110px;
  height:110px;
  border:2px solid #d5a81e;
  border-radius:12px;
  object-fit:cover;
  background:#10261a;
}
.admin-review-profile-photo.placeholder{
  display:grid;
  place-items:center;
  color:#9faea5;
  font-size:12px;
}
.admin-review-workspace .profile-detail-grid{margin:18px 0}
.admin-review-workspace .profile-detail,
.admin-review-workspace .profile-documents{
  border-color:#31513c;
  background:#0a2919;
  color:#f4f7f4;
}
.admin-review-workspace .profile-detail small,
.admin-review-workspace .profile-documents small{color:#aebbb2}
.admin-review-workspace .profile-detail strong,
.admin-review-workspace .profile-documents strong,
.admin-review-workspace .profile-documents p{color:#f2f5f3}
.admin-review-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.admin-review-gallery a{
  display:block;
  overflow:hidden;
  border:1px solid #496752;
  border-radius:9px;
  background:#07170e;
}
.admin-review-gallery img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .2s ease;
}
.admin-review-gallery a:hover img{transform:scale(1.03)}
.admin-review-decision label{display:grid;gap:7px;color:#c9d3cc;font-size:13px}
.admin-review-decision textarea{
  width:100%;
  padding:12px;
  border:1px solid #3b6048;
  border-radius:9px;
  outline:none;
  resize:vertical;
  background:#071b10;
  color:#fff;
}
.admin-review-decision textarea:focus{border-color:#dcb13a;box-shadow:0 0 0 3px rgba(220,177,58,.14)}
.admin-review-id{font-size:13px!important;overflow-wrap:anywhere}
.admin-review-workspace .admin-ops-detail-actions .primary{color:#fff}
.admin-review-workspace .admin-ops-detail-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){
  .admin-operations-list #adminReviewList{max-height:430px}
  .admin-review-total{align-self:flex-start}
}
@media(max-width:560px){
  .admin-review-profile-intro{grid-template-columns:1fr}
  .admin-review-profile-photo{width:96px;height:96px}
  .admin-review-gallery{grid-template-columns:1fr 1fr}
}

/* V361: navegacion interna fija del panel administrador */
.admin-section-nav{
  z-index:18;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:18px 0 22px;
  padding:9px;
  border:1px solid #b78e17;
  border-radius:14px;
  background:rgba(5,18,11,.96);
  box-shadow:0 12px 30px rgba(0,0,0,.32);
  backdrop-filter:blur(10px);
}
#view-admin .admin-section-nav{
  position:sticky;
  top:86px;
}
#view-admin #adminSummary{
  margin-top:0;
  padding-top:28px;
}
.admin-section-nav button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:0;
  min-height:48px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#c7d1ca;
  white-space:nowrap;
}
.admin-section-nav button:hover{
  border-color:#44644f;
  background:#0d2a1b;
  color:#fff;
}
.admin-section-nav button.active{
  border-color:#d8aa28;
  background:linear-gradient(135deg,#193d27,#294318);
  color:#fff;
  box-shadow:inset 3px 0 #55dfa0;
}
.admin-section-nav-icon{
  display:grid;
  flex:0 0 28px;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid #3c654c;
  border-radius:50%;
  color:#66e7a1;
  font-size:15px;
  font-weight:900;
}
.admin-section-nav button.active .admin-section-nav-icon{border-color:#e0b237;color:#f5cf62}
.admin-section-nav b{
  min-width:24px;
  margin-left:auto;
  padding:3px 7px;
  border:1px solid #526254;
  border-radius:999px;
  background:#17271c;
  color:#f4cd5b;
  text-align:center;
  font-size:11px;
}
#adminSummary,
#adminUsersWorkspace,
#adminReviewWorkspace,
#adminRequestsWorkspace,
#adminOperationsWorkspace{scroll-margin-top:156px}
@media(max-width:760px){
  #view-admin .admin-section-nav{
    top:68px;
  }
  .admin-section-nav{
    display:flex;
    gap:7px;
    margin:12px 0 18px;
    padding:8px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .admin-section-nav::-webkit-scrollbar{display:none}
  .admin-section-nav button{flex:0 0 auto;min-width:142px;justify-content:flex-start}
  #adminSummary,
  #adminUsersWorkspace,
  #adminReviewWorkspace,
  #adminRequestsWorkspace,
  #adminOperationsWorkspace{scroll-margin-top:144px}
}

/* V363: gestión administrativa de usuarios */
.admin-users-total{
  align-self:center;
  border-color:#d8aa28;
  background:#30280e;
  color:#f5cf62;
  white-space:nowrap;
}
#adminUsersList{max-height:610px;overflow:auto;scrollbar-color:#40634d #0a1c12}
.admin-user-avatar{
  display:grid;
  flex:0 0 42px;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #3c6c4e;
  border-radius:50%;
  background:#103523;
  color:#75eca5;
  font-weight:900;
}
.admin-user-list-main{display:flex;align-items:center;gap:12px}
.admin-user-list-copy{min-width:0}
.admin-users-workspace .admin-ops-list-item .status.suspended{border-color:#bd3838;background:#351515;color:#ff8a8a}
.admin-user-profile{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:center;
  margin:20px 0;
  padding:17px;
  border:1px solid #31553e;
  border-radius:11px;
  background:#0a2919;
}
.admin-user-profile .admin-user-avatar{width:62px;height:62px;border-color:#d5a81e;font-size:20px}
.admin-user-profile p{margin:5px 0 0;color:#b9c5be;overflow-wrap:anywhere}
.admin-user-history{display:grid;gap:10px}
.admin-user-history article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid #294c37}
.admin-user-history article:last-child{border-bottom:0}
.admin-user-history strong,.admin-user-history small{display:block}
.admin-user-history small{margin-top:4px;color:#aebbb2}
.admin-user-history time{color:#c4d0c8;font-size:12px;white-space:nowrap}
.admin-user-security-note{margin-top:12px;color:#aebbb2;font-size:12px;line-height:1.5}
.admin-user-action-message{margin:12px 0 0;color:#f3cb5c;font-weight:700}
@media(max-width:760px){.admin-users-total{align-self:flex-start}.admin-operations-list #adminUsersList{max-height:430px}}
@media(max-width:480px){.admin-user-history article{grid-template-columns:1fr}.admin-user-history time{white-space:normal}}
@media(max-width:520px){
  #view-admin .admin-section-nav{top:60px}
  .admin-section-nav{margin-left:-4px;margin-right:-4px;border-radius:11px}
  .admin-section-nav button{min-width:132px;min-height:44px;padding:8px 10px}
}


/* V367 PERFIL PROFESIONAL
   Ajuste cromático exclusivamente; no cambia layout ni comportamiento. */
.professional-public-profile,
.professional-profile-shell,
.professional-profile-main,
.professional-profile-section,
.professional-portfolio-panel,
.portfolio-form,
.portfolio-card,
.account-work-gallery,
.account-work-dialog,
.professional-photo-card,
.professional-photo-preview {
  background-color: #ffffff;
  color: #171513;
}

.professional-public-profile,
.professional-profile-section,
.professional-portfolio-panel,
.portfolio-form,
.portfolio-card,
.account-work-tile,
.account-work-dialog,
.professional-photo-card,
.professional-photo-preview,
.portfolio-gallery img {
  border-color: #cbb7a6;
  box-shadow: none;
}

.professional-profile-sidebar,
.professional-profile-header,
.professional-profile-hero,
.professional-public-cover {
  background: #ffffff;
  color: #171513;
  border-color: #a76d3c;
}

.professional-profile-eyebrow,
.professional-profile-meta,
.professional-profile-stat strong,
.portfolio-card small,
.account-work-heading span,
.professional-profile-link {
  color: #a76d3c;
}

.professional-profile-description,
.professional-profile-help,
.account-work-empty,
.account-work-hint,
.portfolio-card p {
  color: #716861;
}

.professional-profile-action,
.professional-profile-primary,
.portfolio-form .primary {
  background: #171513;
  border-color: #171513;
  color: #ffffff;
  box-shadow: none;
}

.professional-profile-secondary,
.portfolio-form .secondary {
  background: #ffffff;
  border-color: #a76d3c;
  color: #583a2b;
  box-shadow: none;
}

.account-work-tile:focus-visible,
.account-work-tile[aria-pressed="true"],
.portfolio-card:focus-within,
.professional-profile-tab.active,
.professional-profile-filter.active {
  background: #f1faf5;
  border-color: #087a4c;
  color: #087a4c;
  box-shadow: 0 0 0 3px rgba(8, 122, 76, 0.14);
}

.portfolio-status.approved,
.professional-profile-verified,
.professional-profile-success {
  color: #087a4c;
  border-color: #087a4c;
}
