:root{--black:#080808;--panel:#121212;--card:#181818;--line:#383838;--white:#f7f7f4;--muted:#b6b6b0;--gold:#d4af37;--gold-light:#f8dc73;--gold-dark:#6f4708;--danger:#d95050;--success:#58bd73;--radius:18px;--metallic:linear-gradient(105deg,#241400 0%,#704407 12%,#b77c13 24%,#e2b83f 36%,#fff0a0 48%,#fff8c9 52%,#d8a82d 65%,#9a610b 80%,#3a2100 100%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}.mvp-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(22px,calc((100vw - 1240px)/2));background:rgba(8,8,8,.96);border-bottom:1px solid #5a3900;backdrop-filter:blur(14px)}.mvp-header:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--metallic)}.mvp-brand{display:flex;align-items:center;gap:12px;color:var(--white);text-decoration:none}.mvp-brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--metallic);color:#170d00;font-weight:900}.mvp-brand strong{display:block;color:var(--gold-light);letter-spacing:3px}.mvp-brand small{display:block;color:var(--muted);letter-spacing:1px}.mvp-nav{display:flex;align-items:center;gap:4px}.mvp-nav button,.admin-tabs button{border:0;background:transparent;color:#ddd;padding:10px 12px;border-radius:10px}.mvp-nav button:hover,.mvp-nav button.active,.admin-tabs button.active{color:#1a0e00;background:var(--metallic);font-weight:800}.menu-button{display:none;background:transparent;border:1px solid var(--gold);color:var(--gold-light);border-radius:10px;padding:8px 12px;font-size:22px}main{width:min(1240px,calc(100% - 32px));margin:0 auto 80px}.view{display:none;animation:fade .24s ease}.view.active{display:block}@keyframes fade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}.hero{display:grid;grid-template-columns:1fr 260px;gap:34px;align-items:center;padding:72px 0 42px}.hero h1,.page-intro h1{margin:.15em 0;font-size:clamp(38px,6vw,72px);line-height:1.03}.hero p,.page-intro p{max-width:760px;color:var(--muted);font-size:18px}.eyebrow{margin:0!important;color:var(--gold)!important;font-size:13px!important;font-weight:900;letter-spacing:2px}.hero-status{padding:24px;border:1px solid #674300;border-radius:var(--radius);background:linear-gradient(145deg,#1b1307,#111)}.hero-status span{color:var(--gold);font-size:12px;font-weight:900}.hero-status strong{display:block;font-size:58px;line-height:1;color:var(--gold-light);margin-top:16px}.hero-status small{color:var(--muted)}.search-panel{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:14px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 25px 70px rgba(0,0,0,.35)}label{display:grid;gap:7px;color:#d9d9d4;font-size:14px;font-weight:700}input,select,textarea{width:100%;border:1px solid #4a4a4a;border-radius:11px;background:#101010;color:var(--white);padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(231,164,17,.12)}textarea{min-height:100px;resize:vertical}input[type=file]{padding:9px;color:var(--muted)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--gold)}.gold-button,.secondary-button{align-self:end;border:1px solid var(--gold-light);border-radius:12px;padding:12px 18px;font-weight:900}.gold-button{background:var(--metallic);color:#1a0f00;text-shadow:0 1px rgba(255,255,255,.22)}.gold-button:hover{filter:brightness(1.12)}.secondary-button{background:#202020;color:#eee;border-color:#555}.page-intro{padding:65px 0 30px}.page-intro h1{font-size:clamp(36px,5vw,62px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:52px 0 18px}.section-heading h2{margin:3px 0 0;font-size:32px}.section-heading>span{color:var(--muted)}.section-heading.small{margin:0 0 18px;align-items:start}.section-heading.small h2{font-size:24px}.section-heading.small p{margin:2px 0;color:var(--muted)}.professional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.professional-card{position:relative;overflow:hidden;background:linear-gradient(155deg,#1d1d1d,#111);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.professional-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--metallic)}.professional-avatar{width:82px;height:82px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:#292929;color:var(--gold-light);font-size:26px;font-weight:900}.card-top{display:flex;align-items:center;justify-content:space-between}.status-chip,.profession-chip{display:inline-flex;align-items:center;border:1px solid #5d5d5d;border-radius:999px;padding:6px 10px;font-size:12px}.status-chip.approved{border-color:#226f35;color:#79dd91;background:#112b17}.status-chip.pending{border-color:#755310;color:#f4c94d;background:#2e230b}.status-chip.rejected{border-color:#7b2929;color:#ff8888;background:#321111}.professional-card h3{font-size:24px;margin:16px 0 4px}.primary-profession{color:var(--gold);font-weight:900}.chip-list{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.profession-chip.primary{color:#1a0f00;background:var(--metallic);border-color:var(--gold-light);font-weight:900}.card-meta{display:grid;gap:6px;color:var(--muted);font-size:14px;margin:16px 0}.rating{color:var(--gold-light);font-weight:800}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.empty-state{grid-column:1/-1;text-align:center;padding:56px;border:1px dashed #555;border-radius:var(--radius);color:var(--muted)}.form-card{display:grid;gap:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.form-section{padding:24px;background:#0e0e0e;border:1px solid #303030;border-radius:15px}.form-section-title{display:flex;gap:16px;align-items:start;margin-bottom:24px}.form-section-title>span{display:grid;place-items:center;min-width:40px;height:40px;border-radius:50%;background:var(--metallic);color:#170e00;font-weight:900}.form-section-title h2{margin:0;font-size:23px}.form-section-title p{margin:3px 0;color:var(--muted)}.form-grid{display:grid;gap:16px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.one{grid-template-columns:1fr}.no-gap{gap:12px}.span-two{grid-column:span 2}.span-three{grid-column:span 3}.compact-top{margin-top:20px}.profession-picker{display:flex;flex-wrap:wrap;gap:10px}.profession-picker label{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #4c4c4c;border-radius:999px;background:#171717}.profession-picker label:has(input:checked){background:var(--metallic);color:#160d00;border-color:var(--gold-light)}.coverage-options{display:flex;flex-wrap:wrap;gap:14px}.coverage-options label,.consent-box label{display:flex;align-items:start;gap:9px}.coverage-options label{padding:10px 14px;border:1px solid #444;border-radius:12px;background:#171717}.consent-box{display:grid;gap:12px;padding:16px;background:#18140b;border:1px solid #674a10;border-radius:12px}.form-actions{display:flex;justify-content:flex-end;gap:12px}.stack-list{display:grid;gap:12px}.list-item{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.list-item h3{margin:0 0 5px}.list-item p{margin:2px 0;color:var(--muted)}.dashboard-selector{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.dashboard-selector label{width:min(430px,100%)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.metric{padding:19px;background:linear-gradient(145deg,#1b1b1b,#111);border:1px solid var(--line);border-radius:14px}.metric small{color:var(--muted)}.metric strong{display:block;font-size:32px;color:var(--gold-light);margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-card{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.dashboard-card.full{margin-top:18px}.mini-form{display:grid;gap:14px}.quote-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quote-editor fieldset{display:grid;gap:8px;margin:0;padding:12px;border:1px solid #4b4b4b;border-radius:12px}.quote-editor legend{color:var(--gold);font-weight:900}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.portfolio-card{overflow:hidden;border:1px solid #424242;border-radius:13px;background:#101010}.before-after{display:grid;grid-template-columns:1fr 1fr}.before-after figure{margin:0;position:relative;min-height:140px;background:#222}.before-after img{display:block;width:100%;height:150px;object-fit:cover}.before-after figcaption{position:absolute;left:8px;top:8px;padding:4px 7px;background:rgba(0,0,0,.75);border-radius:6px;color:var(--gold-light);font-size:11px;font-weight:900}.portfolio-copy{padding:12px}.portfolio-copy h3{margin:0}.portfolio-copy p{color:var(--muted);font-size:13px}.admin-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:10px}.admin-tabs button{white-space:nowrap;border:1px solid #444}.admin-panel{display:none;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:0 var(--radius) var(--radius) var(--radius)}.admin-panel.active{display:block}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px;border-bottom:1px solid #363636;text-align:left;vertical-align:top}.data-table th{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.7px}.data-table td{color:#ddd}.table-actions{display:flex;flex-wrap:wrap;gap:6px}.tiny-button{border:1px solid #555;background:#202020;color:#fff;padding:6px 9px;border-radius:8px}.tiny-button.approve{color:#82e39a;border-color:#2f7540}.tiny-button.reject{color:#ff8c8c;border-color:#7a3030}.mvp-dialog{width:min(900px,calc(100% - 24px));max-height:90vh;overflow:auto;color:var(--white);background:#101010;border:1px solid var(--gold);border-radius:18px;padding:28px;box-shadow:0 35px 120px rgba(0,0,0,.7)}.mvp-dialog::backdrop{background:rgba(0,0,0,.82)}.dialog-close{position:sticky;float:right;top:0;border:0;background:#2b2b2b;color:#fff;width:38px;height:38px;border-radius:50%;font-size:25px}.profile-hero{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}.profile-hero .professional-avatar{width:110px;height:110px}.profile-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.detail-box{padding:16px;background:#181818;border:1px solid #3c3c3c;border-radius:12px}.detail-box h3{margin:0 0 8px;color:var(--gold)}.contract-sheet{background:#f7f2e5;color:#151515;padding:28px;border-radius:10px}.contract-sheet h1{font-size:24px}.contract-sheet h2{font-size:16px;color:#865400;margin-top:22px}.contract-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contract-option{padding:14px;border:1px solid #b59a56;border-radius:9px}.contract-option.selected{outline:3px solid #e7a411}.contract-signatures{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:70px 0 24px;text-align:center}.contract-signatures span{display:block;border-top:1px solid #1a1a1a;margin-bottom:8px}.contract-signatures b,.contract-signatures small{display:block}.contract-signatures small{margin-top:4px;color:#4c4c4c}.document-print,.contract-signatures .document-print{display:none}.signed-upload{margin-top:20px;padding:16px;border:1px dashed #9d791a}.signed-upload label{display:block;margin:10px 0 6px;color:#151515;font-weight:700}.signed-upload input{margin-top:6px}.toast{position:fixed;z-index:100;right:20px;bottom:20px;max-width:380px;padding:14px 18px;border-radius:12px;background:#1a1a1a;border:1px solid var(--gold);color:#fff;box-shadow:0 16px 45px rgba(0,0,0,.5);opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.audit-line{padding:10px 0;border-bottom:1px solid #333;color:#ddd}.audit-line small{display:block;color:var(--muted)}
@media(max-width:1100px){.mvp-nav{display:none;position:absolute;top:72px;left:16px;right:16px;flex-direction:column;align-items:stretch;padding:12px;background:#101010;border:1px solid var(--gold);border-radius:14px}.mvp-nav.open{display:flex}.menu-button{display:block}.search-panel{grid-template-columns:repeat(2,1fr)}.professional-grid{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(2,1fr)}.span-three{grid-column:span 2}.dashboard-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.quote-editor{grid-template-columns:1fr}}
@media(max-width:650px){main{width:min(100% - 20px,1240px)}.hero{grid-template-columns:1fr;padding-top:48px}.hero-status{display:none}.search-panel,.form-grid.three,.form-grid.two{grid-template-columns:1fr}.span-two,.span-three{grid-column:auto}.professional-grid{grid-template-columns:1fr}.card-actions{grid-template-columns:1fr}.form-card,.form-section{padding:15px}.form-section-title{align-items:center}.form-section-title p{display:none}.coverage-options{display:grid}.dashboard-selector{align-items:stretch;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:1fr}.list-item{grid-template-columns:1fr}.data-table{display:block;overflow-x:auto}.profile-hero,.profile-detail-grid{grid-template-columns:1fr}.contract-options{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}
@media print{body>*:not(.mvp-dialog[open]){display:none!important}.mvp-dialog[open]{position:static;width:100%;max-height:none;border:0;background:#fff}.mvp-dialog[open] .dialog-close,.mvp-dialog[open] .no-print{display:none!important}.contract-sheet{padding:0}.document-screen{display:none!important}.document-print{display:inline!important}}

/* Identidad VIGNA: oro metálico realista */
.mvp-brand-mark,.mvp-nav button.active,.admin-tabs button.active,.gold-button,.form-section-title>span,.profession-chip.primary,.profession-picker label:has(input:checked){
  background:var(--metallic);
  background-size:180% 100%;
  background-position:center;
  border-color:#d4af37;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(72,39,0,.72),0 5px 16px rgba(148,94,7,.22);
}
.mvp-header:after,.professional-card:before{background:var(--metallic);background-size:180% 100%;background-position:center}
.eyebrow,.mvp-brand strong,.hero-status span,.hero-status strong,.primary-profession,.rating,.metric strong,.quote-editor legend,.data-table th,.detail-box h3{
  color:var(--gold-light);
  background:var(--metallic);
  background-size:180% 100%;
  background-position:center;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.menu-button,.mvp-dialog,.toast{border-color:var(--gold)}
.request-detail h1{margin:5px 0 8px;font-size:clamp(28px,4vw,42px)}.request-detail-lead{margin:0 0 22px;color:var(--muted)}.request-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.request-detail-grid article,.request-attachments{padding:16px;background:#181818;border:1px solid #3c3c3c;border-radius:12px}.request-detail-grid h3,.request-attachments h2{margin:0 0 9px;color:var(--gold-light)}.request-detail-grid p{margin:5px 0;color:#ddd}.request-attachments{margin-top:12px}.request-files{display:flex;flex-wrap:wrap;gap:8px}.request-detail-actions{display:flex;justify-content:flex-end;margin-top:18px}
@media(max-width:650px){.request-detail-grid{grid-template-columns:1fr}.request-detail-actions .gold-button{width:100%}}
.gold-button:hover,.mvp-nav button.active:hover,.admin-tabs button.active:hover{filter:brightness(1.08) saturate(1.08)}

/* Logotipo oficial VIGNA */
.mvp-brand-logo{display:block;width:150px;height:58px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(212,175,55,.24))}
.mvp-brand-section{padding-left:12px;border-left:1px solid rgba(212,175,55,.48);color:var(--gold-light);font-size:13px;font-weight:700;letter-spacing:1.2px}
.contract-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid #b38a25}
.contract-brand img{display:block;width:170px;height:90px;object-fit:contain}
.contract-brand strong{color:#6f4708;font-size:14px;letter-spacing:1.2px;text-transform:uppercase}
@media(max-width:640px){.mvp-brand-logo{width:112px;height:50px}.mvp-brand-section{font-size:11px;padding-left:8px}.contract-brand img{width:135px;height:72px}.contract-brand strong{font-size:11px}}
@media print{.contract-brand{break-inside:avoid}.contract-brand img{width:170px;height:90px}}

/* Sesión y persistencia Firebase de Profesionales Vigna’s */
[hidden]{display:none!important}
.pv-cloud-status{position:fixed;z-index:120;left:18px;bottom:18px;max-width:min(430px,calc(100vw - 36px));padding:9px 13px;border:1px solid #2f7540;border-radius:999px;background:rgba(11,25,14,.96);color:#8fe5a4;font-size:12px;box-shadow:0 10px 34px rgba(0,0,0,.48)}
.pv-cloud-status.error{border-color:#876519;background:rgba(37,27,7,.97);color:#f6d773}
.pv-access-dialog{width:min(520px,calc(100% - 24px))}
.pv-access-dialog .page-intro.compact{padding:10px 0 24px}
.pv-access-dialog .page-intro.compact h1{font-size:clamp(30px,5vw,44px)}
.pv-access-dialog #pvLogoutButton{margin-top:14px;width:100%}
#pvAccessButton{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
form :disabled{cursor:wait;opacity:.7}
@media(max-width:640px){.pv-cloud-status{left:10px;right:10px;bottom:10px;max-width:none;border-radius:12px;text-align:center}}
@media print{.pv-cloud-status{display:none!important}}

.pv-documents-dialog{width:min(680px,calc(100% - 32px));border:1px solid var(--gold,#d4af37);border-radius:18px;background:#111;color:#f7f2e7;padding:28px}
.pv-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.pv-document-grid .gold-button,.pv-document-grid .secondary-button{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center}
.pv-private-note{margin:18px 0 0;color:#c9c3b7;font-size:.9rem}
@media(max-width:620px){.pv-document-grid{grid-template-columns:1fr}.pv-documents-dialog{padding:22px 18px}}


/* Ciclo seguro del servicio */
.service-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .5rem;
  margin: 1rem 0;
}
.service-step {
  border: 1px solid #b8aa7a;
  border-radius: 999px;
  color: #665f4d;
  font-size: .75rem;
  padding: .55rem .4rem;
  text-align: center;
}
.service-step.done {
  background: linear-gradient(100deg, #8c5b00, #e0ad24, #fff0a6, #b77a00);
  border-color: #a86f00;
  color: #111;
  font-weight: 800;
}
.service-action, .service-evidence, .service-review {
  border-top: 1px solid #d5c596;
  margin-top: 1rem;
  padding-top: 1rem;
}
.service-action {
  display: grid;
  gap: .75rem;
}
.service-action label {
  display: grid;
  gap: .4rem;
  font-weight: 700;
}
.service-action textarea, .service-action select {
  border: 1px solid #8d7b49;
  border-radius: .6rem;
  font: inherit;
  padding: .75rem;
}
.evidence-list {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
@media (max-width: 620px) {
  .service-timeline { grid-template-columns: 1fr 1fr; }
}
.profile-reviews{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.profile-reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-reviews-heading h3{margin:0;color:var(--gold-light)}
.profile-reviews-heading>span{display:inline-grid;min-width:30px;height:30px;padding:0 9px;place-items:center;border:1px solid var(--gold);border-radius:999px;background:rgba(212,175,55,.1);color:var(--gold-light);font-weight:800}
.profile-reviews-list{display:grid;gap:12px;margin-top:12px}
.verified-review{padding:16px;border:1px solid #3c3c3c;border-radius:12px;background:linear-gradient(145deg,#181818,#111)}
.verified-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.verified-review-stars{color:var(--gold-light);letter-spacing:.08em;font-weight:800}
.verified-review-client{color:var(--muted);font-size:.88rem}
.verified-review p{margin:10px 0 0;line-height:1.55}
.verified-review-empty{color:var(--muted);font-style:italic}

/* Acceso al módulo independiente de garantías y reclamos */
.mvp-nav a{border:0;border-radius:10px;background:transparent;color:#ddd;padding:10px 12px;text-decoration:none}
.mvp-nav a:hover{background:var(--metallic);color:#1a0e00;font-weight:800}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.assistance-fab{position:fixed;z-index:110;right:22px;bottom:22px;display:grid;width:62px;height:62px;padding:13px;place-items:center;border:1px solid var(--gold-light);border-radius:50%;background:var(--metallic);color:#160d00;text-decoration:none;box-shadow:0 14px 38px rgba(0,0,0,.58),0 0 0 5px rgba(212,175,55,.09);transition:transform .2s ease,filter .2s ease}
.assistance-fab svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.assistance-fab:hover,.assistance-fab:focus-visible{transform:translateY(-4px) scale(1.04);filter:brightness(1.12);outline:3px solid rgba(255,218,111,.28);outline-offset:3px}
.toast{bottom:96px}
.pv-notifications-trigger{position:relative;display:grid!important;width:42px;height:42px;padding:0!important;place-items:center;font-size:20px}
.pv-notifications-trigger[hidden]{display:none!important}
.pv-notifications-count{position:absolute;top:1px;right:0;display:grid;min-width:18px;height:18px;padding:0 4px;place-items:center;border:1px solid #f2cb64;border-radius:999px;background:#7a4e00;color:#fff;font-size:10px;font-weight:900;line-height:1}
.pv-notifications-dialog{width:min(760px,calc(100% - 24px))}
.pv-notifications-heading{padding-right:52px;border-bottom:1px solid var(--line);padding-bottom:18px}
.pv-notifications-heading h2{margin:5px 0;font-size:clamp(27px,4vw,40px)}
.pv-notifications-heading p:not(.eyebrow){margin:0 0 16px;color:var(--muted)}
.pv-notifications-heading .secondary-button{padding:9px 13px}
.pv-notifications-controls{display:flex;align-items:end;justify-content:space-between;gap:14px}
.pv-notifications-controls label{width:min(270px,100%)}
.pv-notifications-list{display:grid;gap:10px;margin-top:18px}
.pv-notification-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:15px;border:1px solid #3a3a3a;border-radius:13px;background:#151515}
.pv-notification-item.unread{border-color:#8d650d;background:linear-gradient(145deg,#211807,#15130e)}
.pv-notification-dot{width:9px;height:9px;margin-top:7px;border-radius:50%;background:#777}
.pv-notification-item.unread .pv-notification-dot{background:var(--gold-light);box-shadow:0 0 12px rgba(255,211,90,.45)}
.pv-notification-item h3{margin:0;color:var(--gold-light);font-size:16px}
.pv-notification-item p{margin:5px 0;color:#eee}
.pv-notification-item small{color:var(--muted)}
.pv-notification-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}
.pv-notification-action{flex:0 0 auto;color:var(--gold-light);border-color:#765914}
.pv-notifications-empty{padding:45px 20px;text-align:center;border:1px dashed #555;border-radius:13px;color:var(--muted)}
@media(max-width:1000px){.pv-notifications-trigger{width:100%;height:auto;min-height:42px}.pv-notifications-trigger:after{content:"Notificaciones";margin-left:8px;font-size:14px}.pv-notifications-count{top:4px;right:8px}}
@media(max-width:640px){.assistance-fab{right:16px;bottom:76px;width:58px;height:58px}.toast{right:16px;bottom:146px;max-width:calc(100% - 32px)}}
@media(max-width:560px){.pv-notification-footer,.pv-notifications-controls{align-items:stretch;flex-direction:column}.pv-notification-action,.pv-notifications-controls .secondary-button{width:100%}}

/* El icono vectorial conserva su forma en navegadores y fuentes móviles. */
.menu-button{place-items:center;width:42px;height:42px;padding:9px;font-size:0}
.menu-button svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media(max-width:1000px){.menu-button{display:grid}}

.direct-target{border-color:var(--gold-light)!important;box-shadow:0 0 0 4px rgba(232,180,50,.16),0 18px 50px rgba(0,0,0,.42);animation:direct-highlight 1.5s ease}
@keyframes direct-highlight{0%{transform:scale(.985);filter:brightness(1.3)}100%{transform:none;filter:none}}

.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.contract-annex-action{margin-top:18px;padding-top:16px;border-top:1px solid #c9ad68}
.contract-annex-action h2{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.contract-annex-action h2 small{padding:3px 8px;border-radius:999px;background:#efe2ba;color:#6b4900;font-size:11px;text-transform:uppercase}
.contract-annex-action p{margin:0 0 12px;color:#4b412b}
.signed-upload>.secondary-button,.signed-upload>.button-link{margin:4px 6px 4px 0}
/* Ejecución privada y verificable del contrato */
.contract-execution{margin:2rem 0;padding:1.25rem;border:1px solid #5d470d;border-radius:18px;background:linear-gradient(145deg,#0d0d0d,#15130d)}
.execution-heading,.execution-card-head,.execution-actions,.execution-form-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.execution-heading{margin-bottom:1rem}.execution-heading h2,.execution-card h3,.execution-create h3{margin:.2rem 0}.execution-heading>p{max-width:420px;color:#c9c9c9;font-size:.9rem;text-align:right}
.execution-kicker{color:#f1c637;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.contract-execution details{border-top:1px solid #393939}.contract-execution summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;cursor:pointer;font-weight:800;color:#fff}.contract-execution summary span{min-width:28px;padding:.15rem .45rem;border-radius:99px;background:#332600;color:#ffd849;text-align:center}
.execution-list{display:grid;gap:.8rem;padding:0 0 1rem}.execution-card,.execution-create{padding:1rem;border:1px solid #3a3a3a;border-radius:14px;background:#111}.execution-card p{line-height:1.55}.execution-card small{color:#bdbdbd}
.execution-status{padding:.3rem .65rem;border:1px solid #806100;border-radius:99px;color:#ffd849;font-size:.72rem;font-weight:800;white-space:nowrap}.status-aprobado,.status-confirmado,.status-aceptada{border-color:#19773a;color:#57e889}.status-observado,.status-rechazado,.status-rechazada{border-color:#9c3333;color:#ff8c8c}.status-en-revisión,.status-declarado,.status-propuesta{border-color:#8b6900;color:#ffd849}
.execution-files{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0}.execution-file{padding:.55rem .75rem;border:1px solid #755b0a;border-radius:9px;background:#211a05;color:#ffe27a;cursor:pointer}.execution-response{padding:.7rem;border-left:3px solid #d5a900;background:#1b180e}
.execution-inline-form{display:grid;gap:.7rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #333}.execution-inline-form label,.execution-create label{display:grid;gap:.35rem;color:#fff;font-size:.85rem;font-weight:700}.execution-inline-form textarea,.execution-inline-form input,.execution-create textarea,.execution-create input{width:100%;padding:.75rem;border:1px solid #484848;border-radius:9px;background:#0d0d0d;color:#fff}
.execution-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.execution-create{display:grid;align-content:start;gap:.8rem}.execution-form-row>label{flex:1}.execution-empty{padding:1rem;border:1px dashed #444;border-radius:12px;color:#aaa;text-align:center}
@media(max-width:760px){.execution-heading,.execution-card-head,.execution-actions,.execution-form-row{align-items:stretch;flex-direction:column}.execution-heading>p{text-align:left}.execution-create-grid{grid-template-columns:1fr}.contract-execution{padding:1rem}.execution-actions button{width:100%}}
@media print{.contract-execution{display:none!important}}
.acceptance-check{display:flex!important;align-items:flex-start;gap:.65rem;padding:.9rem;border:1px solid #66500b;border-radius:10px;background:#1a1609}.acceptance-check input{width:auto!important;margin-top:.2rem}.handover-certificate{border-color:#8b6b00;background:linear-gradient(145deg,#15130d,#111)}.handover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.handover-grid p{padding:.7rem;border:1px solid #393939;border-radius:9px;margin:0}
@media(max-width:600px){.handover-grid{grid-template-columns:1fr}}
@media print{body.printing-handover .contract-sheet>*{display:none!important}body.printing-handover .contract-sheet>.handover-certificate{display:block!important;border:1px solid #333;background:#fff;color:#000}body.printing-handover .handover-certificate *{color:#000!important}body.printing-handover .handover-grid{display:grid!important}}
.structured-coverage{padding-top:1rem;border-top:1px solid #333}.plan-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.plan-option{display:grid;gap:.4rem;padding:1rem;border:1px solid #4a4a4a;border-radius:14px;background:#111;color:#fff;text-align:left;cursor:pointer}.plan-option.featured,.plan-option:hover{border-color:#d4af37;background:linear-gradient(145deg,#191506,#111)}.plan-option strong{font-size:1.1rem}.plan-option span{color:#ffd849;font-size:1.35rem;font-weight:900}.plan-option small,.private-note{color:#aaa}.plan-current{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding:1rem;border:1px solid #3b3b3b;border-radius:12px}.plan-current small{margin-left:auto;color:#aaa}.specialty-review{display:grid;gap:.35rem;margin-bottom:.7rem}.specialty-review>span{display:flex;align-items:center;gap:.35rem;padding:.3rem;border-bottom:1px solid #333;font-size:.78rem}
@media(max-width:700px){.plan-options{grid-template-columns:1fr}.plan-current{align-items:flex-start;flex-direction:column}.plan-current small{margin-left:0}}
.contract-operations{margin:2rem 0;padding:1.25rem;border:1px solid #5d470d;border-radius:18px;background:linear-gradient(145deg,#0d0d0d,#15130d)}
.contract-operations details{margin-top:1rem;border-top:1px solid #393939}.contract-operations summary{display:flex;justify-content:space-between;padding:1rem 0;cursor:pointer;font-weight:800}.contract-messages{display:grid;gap:.65rem;max-height:24rem;overflow:auto;margin:1rem 0}
.contract-message{max-width:82%;padding:.75rem .9rem;border:1px solid #3a3a3a;border-radius:14px 14px 14px 4px;background:#111}.contract-message.own{margin-left:auto;border-color:#806100;border-radius:14px 14px 4px 14px;background:#181407}.contract-message>div{display:flex;justify-content:space-between;gap:1rem;color:#ffd849;text-transform:capitalize}.contract-message p{white-space:pre-wrap}.contract-message small{color:#aaa}.signature-verification code{display:block;overflow-wrap:anywhere;margin:.5rem 0;color:#6b4900}
@media(max-width:700px){.contract-message{max-width:96%}}@media print{.contract-operations{display:none!important}}
.specialties-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.specialty-editor{display:grid;align-content:start;gap:.75rem;padding:1rem;border:1px solid #3d3d3d;border-radius:14px;background:#111}.specialty-editor label{display:grid;gap:.35rem}.specialty-editor input,.specialty-editor textarea{width:100%;padding:.75rem;border:1px solid #494949;border-radius:9px;background:#0b0b0b;color:#fff}.specialty-editor input[type="checkbox"]{width:auto}.specialty-evidence-list{display:flex;flex-wrap:wrap;gap:.4rem}
@media(max-width:760px){.specialties-editor{grid-template-columns:1fr}}
/* No exponer perfiles locales de demostración durante la conexión inicial. */
.pv-cloud-loading #heroTotalProfesionales,
.pv-cloud-loading #contadorResultados,
.pv-cloud-loading #listaProfesionales {
  visibility: hidden;
}
.mvp-footer{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;padding:2rem 1rem 6rem;color:#cfcfcf;border-top:1px solid #2d2d2d}.mvp-footer a,.mvp-footer button{color:#e9bd3f;background:none;border:0;font:inherit;text-decoration:underline;cursor:pointer}.pv-account-deletion-dialog{max-width:680px}.pv-account-deletion-dialog a{color:#8a5c00}.pv-account-deletion-dialog .acceptance-check{padding:1rem;border:1px solid #b98500;border-radius:12px}
.consent-box a{color:#f1c64f}
.contract-price-table{width:100%;border-collapse:collapse;margin:12px 0}.contract-price-table th,.contract-price-table td{padding:7px 9px;border:1px solid #b8a87d;text-align:left}.contract-price-table td{text-align:right}.contract-identity{break-inside:avoid}.contract-status-print{break-inside:avoid}.contract-signatures{break-inside:avoid;page-break-inside:avoid}
@media print{@page{size:A4;margin:16mm 14mm}.mvp-dialog[open]{padding:0!important;overflow:visible!important}.contract-sheet{font-size:10.5pt;line-height:1.38;background:#fff!important}.contract-sheet h1{font-size:19pt;margin:12px 0}.contract-sheet h2{font-size:12pt;margin:14px 0 5px;break-after:avoid}.contract-sheet p{margin:5px 0;orphans:3;widows:3}.contract-signatures{margin:42px 0 14px}.contract-status-print{margin-top:12px}.contract-status-print h2,.contract-status-print p{margin:3px 0}}

/* Cotización única y descarga en Excel */
.quote-editor.single{grid-template-columns:1fr}
.quote-editor.single fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quote-editor.single fieldset legend,.quote-editor.single fieldset textarea{grid-column:1/-1}
.contract-options.single{grid-template-columns:1fr}
@media(max-width:650px){.quote-editor.single fieldset{grid-template-columns:1fr}.quote-editor.single fieldset legend,.quote-editor.single fieldset textarea{grid-column:auto}}

/* Detalle editable de materiales en la cotización */
.quote-materials{grid-column:1/-1;display:grid;gap:12px;padding:14px;border:1px solid #4b4b4b;border-radius:12px;background:#0d0d0d}.quote-materials-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.quote-materials-heading div{display:grid}.quote-materials-heading small{color:var(--muted);font-weight:400}.quote-materials-list{display:grid;gap:10px}.quote-material-row{display:grid;grid-template-columns:2fr .7fr 1fr 1fr 1fr auto;gap:8px;align-items:end;padding:10px;border:1px solid #333;border-radius:10px;background:#151515}.quote-material-remove{margin-bottom:2px}@media(max-width:900px){.quote-material-row{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-material-remove{grid-column:1/-1}}@media(max-width:560px){.quote-materials-heading{align-items:stretch;flex-direction:column}.quote-material-row{grid-template-columns:1fr}}
