.portfolio-page{margin:0;display:grid;grid-template-columns:245px 1fr;min-height:100vh;background:#f5f3ed}.portfolio-sidebar{position:sticky;top:0;height:100vh;box-sizing:border-box;padding:30px 22px;background:#102d27;color:#fff;display:flex;flex-direction:column}.portfolio-sidebar nav{display:grid;gap:7px;margin-top:55px}.portfolio-sidebar nav a{display:flex;gap:10px;align-items:center;padding:12px;border-radius:9px;color:#c9d8d2;text-decoration:none;font-size:.75rem;font-weight:600}.portfolio-sidebar nav a.active{background:#ffffff14;color:#fff}.portfolio-sidebar nav b{margin-left:auto;padding:2px 6px;border-radius:99px;background:var(--sun);color:var(--ink);font-size:.6rem}.portfolio-sidebar>div:last-child{margin-top:auto}.portfolio-sidebar>div:last-child a{color:#c9d8d2;font-size:.7rem}.portfolio-header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.portfolio-header>div{max-width:760px}.portfolio-header h1{margin:6px 0;font-size:clamp(2.6rem,4.6vw,4rem);line-height:.92}.portfolio-header h1 em{color:var(--forest);font-weight:500}.portfolio-header p{max-width:670px;color:var(--muted)}.portfolio-summary{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:11px;margin:0 0 var(--bloque)}.portfolio-summary article{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.portfolio-summary span,.portfolio-summary strong,.portfolio-summary small{display:block}.portfolio-summary span,.portfolio-summary small{color:var(--muted);font-size:.64rem}.portfolio-summary strong{margin:4px 0 2px;font-size:1.18rem;line-height:1.15}.portfolio-summary .portfolio-ai{background:var(--forest);color:#fff}.portfolio-ai span{color:var(--sun)}.portfolio-ai b{display:block;margin:8px 0;font-size:.76rem}.portfolio-ai a{color:#fff;font-size:.68rem}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2{font:600 .78rem/1.2 "DM Sans",sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0}.portfolio-filters{display:flex;gap:5px}.portfolio-filters button{border:1px solid var(--line);border-radius:99px;padding:8px 12px;background:#fff}.portfolio-filters button.active{background:var(--forest);color:#fff}.asset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.asset-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.asset-visual{position:relative;height:170px;background-color:#cad9cc;background-size:cover;background-position:center}.asset-visual.has-photo{background-color:#1c2b26}
.asset-visual.has-photo span,.asset-visual.has-photo b{box-shadow:0 2px 8px rgba(12,24,20,.28)}
.asset-visual.land{background-image:linear-gradient(145deg,#8daf8d,#d7c68b)}.asset-visual.home{background-image:linear-gradient(145deg,#9ab7b5,#e8d3b1)}.asset-visual.car{background-image:linear-gradient(145deg,#545f5e,#b9c6c1)}.asset-visual.object{background-image:linear-gradient(145deg,#b99e81,#e8dbc6)}.asset-visual span,.asset-visual b{position:absolute;top:12px;padding:6px 9px;border-radius:99px;background:#fff;font-size:.6rem}.asset-visual span{left:12px}.asset-visual b{right:12px}.asset-card>div:last-child{padding:17px}.asset-card small{color:var(--muted)}.asset-card h3{margin:7px 0}.asset-card strong{font-size:.85rem}.asset-card p{min-height:34px;color:var(--muted);font-size:.65rem}.asset-card a{color:var(--forest);font-size:.68rem;font-weight:700}.portfolio-assistant{display:grid;grid-template-columns:.65fr 1.35fr;gap:45px;margin-top:90px;padding:55px;border-radius:25px;background:#e9eee8}.assistant-intro{padding:20px}.ai-orb{display:grid;place-items:center;width:64px;height:64px;margin-bottom:25px;border-radius:20px;background:var(--forest);color:var(--sun);font-weight:800}.assistant-intro h2{font-size:3rem}.assistant-intro p:not(.eyebrow),.assistant-intro li{color:var(--muted)}.assistant-intro ul{padding-left:18px}.assistant-card{position:relative;padding:30px;border-radius:18px;background:#fff}.assistant-progress{height:4px;margin:-30px -30px 30px;background:#dde2dc}.assistant-progress i{display:block;width:33%;height:100%;background:var(--sun);transition:.3s}.wizard-step{display:none}.wizard-step.active{display:block}.wizard-step>span{font-size:.64rem;color:var(--muted)}.wizard-step h3,.result-card h3{font-size:2rem}.wizard-step label:not(.photo-drop){display:grid;gap:6px;margin-top:15px;font-size:.7rem;font-weight:700}.wizard-step textarea,.wizard-step select,.wizard-step input{box-sizing:border-box;width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;font:inherit}.wizard-step textarea{min-height:90px}.photo-drop{display:grid;place-items:center;min-height:170px;margin:15px 0;padding:20px;border:1px dashed #93a89e;border-radius:13px;background:#f7f8f5;text-align:center;cursor:pointer}.photo-drop>span{font-size:2rem}.photo-drop small{color:var(--muted)}#photo-preview{display:flex;gap:7px;margin-top:10px}#photo-preview img{width:62px;height:62px;border-radius:8px;object-fit:cover}.detected-type{display:flex;align-items:center;gap:12px;margin:15px 0;padding:14px;border-radius:11px;background:#edf3ed}.detected-type>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--forest);color:var(--sun);font-size:.7rem;font-weight:800}.detected-type div{flex:1}.detected-type small,.detected-type strong{display:block}.dynamic-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.asset-goals{display:grid;grid-template-columns:1fr 1fr;gap:9px}.asset-goals label{position:relative;padding:18px;border:1px solid var(--line);border-radius:11px}.asset-goals input{position:absolute;opacity:0}.asset-goals label:has(input:checked){border-color:var(--forest);background:#edf3ed}.asset-goals span,.asset-goals b{display:block}.asset-goals span{font-size:1.3rem;margin-bottom:10px}.wizard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.wizard-actions .text-button{margin-right:auto}.result-card{align-self:start}.result-heading{display:flex;justify-content:space-between}.result-heading span{color:var(--muted)}.result-heading>b{font-size:1.4rem;color:var(--forest)}.result-range{padding:20px;margin:15px 0;border-radius:13px;background:#102d27;color:#fff}.result-range span,.result-range strong,.result-range small{display:block}.result-range span,.result-range small{color:#bfd0c9;font-size:.64rem}.result-range strong{margin:7px 0;font-size:1.8rem}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-grid article{padding:12px;border:1px solid var(--line);border-radius:9px}.result-grid span,.result-grid b{display:block}.result-grid span{font-size:.6rem;color:var(--muted)}.result-grid b{margin-top:5px;font-size:.72rem}.result-card li{font-size:.72rem;margin:8px 0}.result-buttons{display:flex;gap:9px}.result-disclaimer{font-size:.6rem;color:var(--muted)}@media(max-width:1100px){.portfolio-summary{grid-template-columns:1fr 1fr}.asset-grid{grid-template-columns:1fr 1fr}.portfolio-assistant{grid-template-columns:1fr}}@media(max-width:760px){.portfolio-page{grid-template-columns:1fr}.portfolio-sidebar{position:relative;height:auto}.portfolio-sidebar nav{display:flex;overflow:auto;margin-top:25px}.portfolio-sidebar nav a{white-space:nowrap}.portfolio-sidebar>div:last-child{display:none}.portfolio-main{padding:30px 16px}.portfolio-header{align-items:flex-start;flex-direction:column}.portfolio-summary,.asset-grid{grid-template-columns:1fr}.portfolio-assistant{padding:18px}.portfolio-filters{overflow:auto}.dynamic-grid,.asset-goals,.result-grid{grid-template-columns:1fr}}
.result-ai-summary {
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(31, 93, 76, 0.2);
  border-radius: 16px;
  background: rgba(31, 93, 76, 0.07);
}
.result-ai-summary strong { color: #1f5d4c; }
.result-ai-summary p { margin: .45rem 0; }
.result-ai-summary small { color: #617069; }
.result-ai-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.result-ai-heading span {
  padding: .3rem .65rem;
  border-radius: 999px;
  background: #1f5d4c;
  color: #fff;
  font-size: .62rem;
  font-weight: 700;
}
.result-ai-summary h4 { margin: 1rem 0 .4rem; }
.result-ai-summary ul { margin: 0 0 1rem; padding-left: 1.2rem; }
.result-ai-summary li { margin: .4rem 0; }
.recovered-project {
  border-color: rgba(211, 158, 53, .7);
  box-shadow: 0 14px 35px rgba(16, 45, 39, .08);
}
.architecture-visual {
  overflow: hidden;
  background: linear-gradient(145deg, #173f35, #5f8c70 58%, #d5ad55);
}
.architecture-visual > b { color: #173f35; }
.architecture-visual > i {
  position: absolute;
  inset: 45px 42px 24px;
  border: 3px solid rgba(255,255,255,.82);
  background: rgba(255,255,255,.08);
  clip-path: polygon(17% 8%, 74% 0, 93% 76%, 48% 100%, 4% 63%);
  transform: rotate(-7deg);
}
.recovered-project small { color: #8a6419; font-weight: 700; }
#assistant[hidden] { display: none !important; }
.portfolio-collections{position:relative;display:grid;grid-template-columns:1fr auto;gap:18px;margin:0 0 32px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.portfolio-collections h2{margin:4px 0 2px;font-size:1.5rem}.portfolio-collections>div:first-child>p:last-child{margin:0;color:var(--muted);font-size:.7rem}.portfolio-tabs{grid-column:1/-1;display:flex;gap:8px;overflow:auto;padding-bottom:2px}.portfolio-tabs button{display:grid;min-width:150px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#f8f7f2;text-align:left}.portfolio-tabs button.active{border-color:var(--forest);background:var(--forest);color:#fff}.portfolio-tabs b,.portfolio-tabs small{display:block}.portfolio-tabs small{margin-top:3px;color:inherit;opacity:.7}.portfolio-add{align-self:start}.portfolio-create-form{grid-column:1/-1;display:flex;align-items:end;gap:8px;padding:15px;border-radius:12px;background:#edf3ed}.portfolio-create-form[hidden]{display:none}.portfolio-create-form label{display:grid;flex:1;gap:5px;font-size:.68rem;font-weight:700}.portfolio-create-form input{box-sizing:border-box;width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;font:inherit}.asset-portfolio-row{display:flex;align-items:center;gap:7px;margin:10px 0 4px}.asset-portfolio-row label{color:var(--muted);font-size:.62rem}.asset-portfolio-row select{max-width:170px;padding:6px 24px 6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:.62rem}.asset-type-starter{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 24px}.asset-type-starter button{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left}.asset-type-starter button.active{border-color:var(--forest);background:#edf3ed}.asset-type-starter span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--forest);color:var(--sun)}.evidence-title{margin:8px 0 0}.portfolio-assistant.is-open{animation:portfolioReveal .25s ease both}@keyframes portfolioReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.portfolio-load-notice {
  margin: 12px 0 18px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #fff4d8;
  color: #6f5013;
  font-size: .68rem;
}
@media(max-width:760px){.portfolio-collections{grid-template-columns:1fr}.portfolio-add{justify-self:start}.portfolio-tabs{grid-column:1}.portfolio-create-form{grid-column:1;align-items:stretch;flex-direction:column}.asset-type-starter{grid-template-columns:1fr 1fr}}
.photo-input-panel{margin:15px 0}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.photo-actions .photo-drop{box-sizing:border-box;width:100%;min-height:140px;margin:0;color:var(--ink);font:inherit}.camera-button{appearance:none}.camera-button>span{color:#b24635}.photo-limit{display:block;margin-top:8px;color:var(--muted)}#photo-preview{align-items:center;flex-wrap:wrap}#photo-preview small{color:var(--muted)}.camera-panel{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#102d27;color:#fff}.camera-panel[hidden]{display:none}.camera-panel video{display:block;width:100%;max-height:430px;aspect-ratio:4/3;border-radius:10px;background:#071c17;object-fit:cover}.camera-panel p{margin:10px 0;color:#d8e3de;font-size:.68rem}.camera-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.camera-controls .outline-button{border-color:#fff;color:#fff}.camera-controls .text-button{color:#fff}@media(max-width:760px){.photo-actions{grid-template-columns:1fr}.camera-controls>*{flex:1}.camera-controls .text-button{flex-basis:100%}}
.portfolio-collection-actions{display:flex;align-items:center;gap:8px}.portfolio-invite-form{grid-template-columns:minmax(220px,1fr) minmax(170px,.6fr) auto auto}.portfolio-invite-form select{box-sizing:border-box;width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}.portfolio-invite-form p{grid-column:1/-1;margin:3px 0 0;color:var(--forest);font-size:.67rem}@media(max-width:760px){.portfolio-collection-actions{align-items:stretch;flex-direction:column}.portfolio-invite-form{grid-template-columns:1fr}}
.portfolio-delete{padding:10px 14px;border:1px solid #a6463d;border-radius:999px;background:#fff;color:#91382f;font:700 .68rem "DM Sans",sans-serif;cursor:pointer}.portfolio-delete:hover{background:#fff1ef}.portfolio-delete:disabled{cursor:wait;opacity:.55}

/* Product and personal-item cards */
.item-asset-card{display:flex;flex-direction:column;border-color:#c9d5ce;box-shadow:0 16px 40px rgba(16,45,39,.08)}
.item-asset-card .item-visual{height:auto;min-height:210px;background:linear-gradient(145deg,#e9e3d7,#c9d9cf 55%,#e7c66f)}
.treadmill-visual:after{content:"";position:absolute;inset:auto 12% 18% 18%;height:10px;border-radius:99px;background:#173f35;box-shadow:0 9px 20px rgba(16,45,39,.2);transform:skewX(-18deg)}
.treadmill-shape{position:absolute;left:31%;bottom:23%;width:42%;height:34%;border-left:8px solid #173f35;border-top:8px solid #173f35;border-radius:8px 0 0;transform:skewX(-10deg)}
.treadmill-shape:before{content:"";position:absolute;top:-22px;left:-15px;width:45px;height:28px;border:6px solid #173f35;border-radius:8px;background:#f6f3eb;transform:skewX(10deg)}
.treadmill-shape:after{content:"";position:absolute;left:-18px;bottom:-44px;width:9px;height:64px;border-radius:99px;background:#173f35;box-shadow:148px 32px 0 -1px #173f35}
.item-card-body{display:flex!important;flex:1;flex-direction:column;padding:20px!important}
.item-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px}
.item-card-kicker>span{padding:5px 8px;border-radius:999px;background:#edf3ed;color:#285848;font-size:.58rem;font-weight:700}
.item-asset-card h3{font-size:1.15rem;line-height:1.12}
.item-price{display:block;margin-bottom:14px;color:#173f35;font-size:1.15rem!important}
.item-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.item-specs>span{padding:9px;border:1px solid #d9e0db;border-radius:10px;background:#fafbf8}
.item-specs small,.item-specs b{display:block}
.item-specs small{font-size:.52rem}
.item-specs b{margin-top:3px;font-size:.61rem}
.item-asset-card p{min-height:0;margin:14px 0}
.item-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #e1e5e1;color:var(--muted);font-size:.6rem}
.item-card-footer>b,.item-card-footer span b{color:var(--ink)}
.item-card-footer .text-button{padding:0;border:0;background:none;color:var(--forest);font:700 .66rem "DM Sans",sans-serif;cursor:pointer}
.item-card-footer .text-button:disabled{cursor:not-allowed;opacity:.45}
@media(min-width:1101px){.asset-grid{grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}.item-asset-card{min-width:0}}
@media(max-width:760px){.item-asset-card .item-visual{min-height:190px}.item-card-footer{align-items:flex-start;flex-direction:column}.item-specs{width:100%}}

.portfolio-access{grid-column:1/-1;margin-top:4px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fbfaf6}
.portfolio-access .eyebrow{margin:0 0 8px}
.portfolio-access ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.portfolio-access li{display:grid;padding:8px 12px;border:1px solid var(--line);border-radius:99px;background:#fff}
.portfolio-access b{font-size:.85rem}
.portfolio-access small{color:#74817b;font-size:.72rem}

.asset-card-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.portfolio-access .access-actions{display:flex;gap:10px;margin-top:4px}
.portfolio-access .access-actions .text-button{font-size:.7rem;padding:0}
.portfolio-access .revoke{color:#8a3b32}
.portfolio-access .revoke.armado{font-weight:600}

.portfolio-summary small{font-size:.72rem}
.portfolio-summary span{font-size:.72rem;letter-spacing:.02em}
.section-heading{margin-bottom:14px;align-items:center}

.asset-visual b i{font-size:.52rem;font-style:normal;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.62}

.asset-card strong em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:600}

.aviso-pendientes{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:11px 15px;border:1px solid #e5d9bd;border-radius:12px;background:#fbf4e4;color:#5a4a22;font-size:.8rem}
.aviso-pendientes button{border:0;background:transparent;color:#12352d;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}
.portfolio-summary article button{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0;text-align:left}

/* La regla base de .text-button estaba encerrada en .item-card-footer, así que
   fuera de ahí estos botones salían con el marco gris del navegador. */
.text-button.revoke,.portfolio-access .revoke{color:#9b3d35}
/* Quién entra: fichas legibles en vez de píldoras estiradas por su contenido. */
.portfolio-access ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px}
.portfolio-access li{align-content:start;gap:2px;padding:11px 13px;border-radius:12px}
.portfolio-access .access-actions{gap:14px;margin-top:7px}
.portfolio-access .access-actions .text-button{font-size:.68rem}
.portfolio-collection-actions{flex-wrap:wrap}
@media(max-width:760px){
  /* En columna, los tres botones miden lo mismo: antes uno se estiraba y el
     otro no, y la fila parecía rota. */
  .portfolio-collection-actions>button{width:100%}
}
