/* Project-First A1: the project is the protagonist of Analyze, Deliver and My studio. Uses the «Cuaderno de
   proyecto» tokens of professional-workspace.css; no new palette or typography. */
.project-context{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);gap:28px;align-items:center;border-top:1px solid var(--rubik-rule);border-bottom:1px solid var(--rubik-rule);padding:18px 0;margin:0 0 28px}
.project-context-drawing{background:var(--rubik-sheet);border:1px solid var(--rubik-rule);padding:12px;min-width:0}
.project-context .project-plan.professional-plan-preview{display:block;width:100%;height:220px;border:0;background:transparent;overflow:visible}
.project-context-copy{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}
.project-context .project-context-copy>small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--rubik-muted)}
.project-context .project-context-name{font:400 26px/1.15 var(--rubik-serif);letter-spacing:-.02em}
.project-context-facts{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:4px 0 0}
.project-context .project-context-area{font:400 30px/1 var(--rubik-serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.project-context .project-context-meta,.project-context .project-context-ready{font-size:13px;line-height:1.55;color:var(--rubik-muted);margin:0}
.project-context .project-context-ready{color:var(--rubik-ink);font-weight:600;border-top:1px solid var(--rubik-rule);padding-top:8px;margin-top:4px}
.project-context-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--rubik-muted);margin:2px 0 0}
.project-context-legend span::before{content:'';display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-2px;border:1px solid #a89c87}
.project-context-legend .legend-counted::before{background:#e2d8c4}.project-context-legend .legend-excluded::before{background:#f3eee4;border-style:dashed}
.project-context-empty{display:block;padding:40px 8px;text-align:center;font-size:13px;color:var(--rubik-muted)}
.project-context-compact{grid-template-columns:150px minmax(0,1fr);gap:18px;padding:12px 0;margin-bottom:24px}
.project-context-compact .project-plan.professional-plan-preview{height:96px}.project-context-compact .project-context-drawing{padding:6px}
.project-context.project-context-compact .project-context-name{font-size:20px}.project-context.project-context-compact .project-context-area{font-size:22px}
/* Plan and axonometric drawings: model millimetres scaled by the viewBox; strokes stay at screen pixels. */
.project-plan .preview-room{fill:#e2d8c4;stroke:#a89c87;stroke-width:1;vector-effect:non-scaling-stroke}
.project-plan .preview-room.preview-excluded{fill:#f3eee4;stroke-dasharray:3 2}
.project-plan .preview-wall{fill:#2d332f;stroke:none}.project-plan .preview-wall.preview-demolished{fill:none;stroke:#a7543f;stroke-width:1;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}
.project-axo{display:block;width:100%;height:210px;overflow:visible}
.project-axo .axo-floor{fill:#ebe4d6;stroke:#b8ad9a;stroke-width:.6;vector-effect:non-scaling-stroke}.project-axo .axo-floor.axo-excluded{fill:#f5f1ea}
.project-axo .axo-wall-side{fill:#cfc6b6;stroke:#7d7466;stroke-width:.5;vector-effect:non-scaling-stroke}
.project-axo .axo-wall-top{fill:#3a403b;stroke:#3a403b;stroke-width:.5;vector-effect:non-scaling-stroke}
.project-axo.is-exterior .axo-floor{fill:#d9d2c3}.project-axo.is-exterior .axo-wall-side{fill:#e8e0d0;stroke:#5f584d}
/* Delivery previews: real outputs (sheet, schedule rows, signature) or a model scheme that says it is one. */
.delivery-preview{margin:14px 0 16px;min-width:0}
.delivery-preview figcaption{font-size:12.5px;line-height:1.55;color:var(--rubik-muted);margin-top:10px;max-width:62ch}
.delivery-paper{background:#e6dfd2;padding:10px;border:1px solid var(--rubik-rule)}
.project-sheet-image{display:block;width:100%;aspect-ratio:1600/1100;height:auto;background:#fcfaf6;box-shadow:0 1px 0 #cbc2b3,0 6px 14px -8px rgba(45,51,47,.45)}
.delivery-page{display:grid;gap:3px;background:#fffdf8;border:1px solid var(--rubik-rule);box-shadow:0 6px 14px -9px rgba(45,51,47,.45);padding:14px 16px;font-size:12px;color:var(--rubik-ink)}
.delivery-page>b{font:400 16px/1.2 var(--rubik-serif)}.delivery-page-sub{color:var(--rubik-muted);font-size:11px;margin-bottom:6px}
.delivery-page ol{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.delivery-page li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dotted #cbc2b3;padding:2px 0}.delivery-page li span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.delivery-page li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.delivery-page-more{color:var(--rubik-muted);font-size:11px;margin-top:3px}
.delivery-axo{background:var(--rubik-sheet);border:1px solid var(--rubik-rule);padding:12px 12px 2px}
.delivery-axo figcaption{margin-bottom:10px}
.delivery-image-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.delivery-image-tile{display:grid;gap:2px;font-size:12px;color:var(--rubik-muted);min-width:0}.delivery-image-tile b{color:var(--rubik-ink);font-size:13px}
.delivery-image-box{height:96px;background:var(--rubik-sheet);border:1px solid var(--rubik-rule);padding:8px;margin-bottom:6px;display:grid;place-items:center}
.delivery-image-box svg{display:block;width:100%;height:78px;overflow:visible}
.project-signature{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:3px;align-items:center;background:var(--rubik-sheet);border:1px solid var(--rubik-rule);border-left:3px solid var(--rubik-clay);padding:14px 18px;overflow-wrap:anywhere}
.project-signature>small{grid-column:1/-1;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--rubik-muted);margin-bottom:4px}
.project-signature-logo{grid-row:span 2;max-height:52px;max-width:96px;object-fit:contain}
.project-signature>strong{font:400 22px/1.2 var(--rubik-serif)}.project-signature>span{font-size:13px;color:var(--rubik-muted)}
.project-signature:not(:has(.project-signature-logo))>strong,.project-signature:not(:has(.project-signature-logo))>span{grid-column:1/-1}
.project-signature.is-empty{border-left-color:var(--rubik-rule)}
.studio-sheet{margin-top:20px;padding-top:16px;border-top:1px solid var(--rubik-rule)}
/* Deliver: documentation side by side keeps its paper look; the 3D scheme and images read as one visual band. */
.professional-workspace[data-area=deliver] .professional-delivery-group[data-group=experience] .professional-group-items{align-items:start}
@media(max-width:1100px){.project-context{grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:20px}.project-context .project-plan.professional-plan-preview{height:180px}.project-context-name{font-size:23px}}
@media(max-width:600px){.project-context,.project-context-compact{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 0;margin-bottom:20px}.project-context .project-plan.professional-plan-preview{height:170px}.project-context-compact .project-plan.professional-plan-preview{height:120px}.project-context-name{font-size:22px}.project-context-area{font-size:26px}.project-axo{height:180px}.delivery-image-box{height:84px}.delivery-image-box svg{height:66px}}
@media(max-height:500px){.project-context{grid-template-columns:200px minmax(0,1fr);padding:10px 0;margin-bottom:16px}.project-context .project-plan.professional-plan-preview{height:130px}.project-context-name{font-size:20px}.project-context-area{font-size:22px}.project-context-compact{grid-template-columns:130px minmax(0,1fr)}.project-context-compact .project-plan.professional-plan-preview{height:80px}}
/* A2 automatic views: real 3D frames of the presentation stops. */
.delivery-frame{margin:14px 0 16px}.delivery-frame .project-view-image{box-shadow:0 6px 14px -9px rgba(45,51,47,.45)}
.project-view-image{display:block;width:100%;height:auto;aspect-ratio:1600/820;object-fit:cover;background:#ece6da;border:1px solid var(--rubik-rule)}
.project-view-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0}
.project-view{margin:0;display:grid;gap:4px;min-width:0}.project-view figcaption{font-size:12px;color:var(--rubik-ink);font-weight:600;margin:0;overflow-wrap:anywhere}
.project-view .btn{justify-self:start;font-size:12px;min-height:40px;border:1px solid #978b79;border-radius:var(--rubik-radius);background:var(--rubik-sheet)}.project-view .btn:hover{background:var(--surface-hover);border-color:var(--rubik-ink)}
.project-view-caption{font-size:12.5px;line-height:1.55;color:var(--rubik-muted);margin:10px 0 0}
.project-view-status{font-size:12.5px;color:var(--rubik-ink);font-weight:600;margin:6px 0}.project-view-status:empty{display:none}
.professional-card>.btn[data-route=prepare-views]{margin-top:4px}
.project-views-card{grid-column:1/-1}.project-views-card .project-view-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:12px 0}
@media(max-width:600px){.project-view-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-views-card .project-view-gallery{grid-template-columns:minmax(0,1fr)}}
/* A3 visual Analyze: diagrams sit inside the existing cards, under their state line. */
.professional-workspace[data-area=analyze] .site-figure{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.professional-workspace[data-area=analyze] .site-figure.is-sun{grid-template-columns:minmax(0,1fr)}.professional-workspace[data-area=analyze] .site-figure.is-sun .site-sun{max-width:240px}
.project-context-copy .project-context-action{justify-self:start;margin-top:6px;border:1px solid #978b79;border-radius:var(--rubik-radius);background:var(--rubik-sheet);min-height:40px}
@media(max-width:600px){.professional-workspace[data-area=analyze] .site-figure,.professional-workspace[data-area=analyze] .site-figure.is-sun{grid-template-columns:minmax(0,1fr)}}
/* A4 dossier card: cover miniature next to what the document will contain. */
.professional-delivery-group[data-group=documentation] .professional-card.dossier-card{grid-column:1/-1}
.delivery-dossier{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:20px;align-items:start}.delivery-dossier figcaption{grid-column:1/-1}
.dossier-mini{display:grid;gap:4px;padding:12px;background:#fffdf8;border:1px solid var(--rubik-rule);box-shadow:0 6px 14px -9px rgba(45,51,47,.45);aspect-ratio:210/297;align-content:start;overflow:hidden}
.dossier-mini small{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--rubik-clay)}.dossier-mini b{font:400 15px/1.2 var(--rubik-serif)}.dossier-mini span{font-size:11px;color:var(--rubik-muted)}
.dossier-mini img,.dossier-mini svg{display:block;width:100%;height:auto;max-height:150px;margin:6px 0;object-fit:cover}
.dossier-mini .preview-room{fill:#e2d8c4;stroke:#a89c87;stroke-width:1;vector-effect:non-scaling-stroke}.dossier-mini .preview-room.preview-excluded{fill:#f3eee4}.dossier-mini .preview-wall{fill:#2d332f}.dossier-mini .preview-demolished{fill:none}
.dossier-checklist{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13px}.dossier-checklist .is-ready{color:var(--rubik-ink);font-weight:600}.dossier-checklist .is-missing{color:var(--rubik-muted)}.dossier-checklist small{font-weight:400}
@media(max-width:600px){.delivery-dossier{grid-template-columns:minmax(0,1fr)}.dossier-mini{max-width:220px}}
/* B2 AI render: consent, access code and style, then real view vs AI render. */
.project-view{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px}.project-view>img,.project-view>figcaption{flex:1 0 100%}
.ai-render-dialog{width:min(980px,calc(100vw - 24px));max-height:calc(100vh - 24px);border:1px solid var(--rubik-rule,#cbc2b3);border-radius:6px;background:#fffcf6;color:#2d332f;padding:16px 20px}
.ai-render-dialog::backdrop{background:rgba(31,35,38,.45)}.ai-render-head{display:flex;align-items:center;gap:12px;justify-content:space-between}.ai-render-head h2{font:400 22px/1.2 Georgia,serif;margin:0}
.ai-render-note{font-size:13px;line-height:1.55;color:#4f5249;background:#f3eee4;border-left:3px solid #875936;padding:10px 12px;margin:12px 0}
.ai-render-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;align-items:end}.ai-render-form label{display:grid;gap:4px;font-size:13px;font-weight:600}
.ai-render-form input,.ai-render-form select{min-height:44px;padding:0 10px;border:1px solid #978b79;border-radius:4px;background:#fff;font:inherit;font-weight:400}
.ai-render-form .ai-render-consent{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;font-weight:400}.ai-render-form .ai-render-consent input{width:20px;height:20px;min-height:0;padding:0;margin:1px 0 0}
.ai-render-dialog .btn{border:1px solid #978b79;border-radius:4px;background:#fffcf6;min-height:44px;padding:0 14px}.ai-render-dialog .btn.primary{background:#205b60;border-color:#205b60;color:#fff}
.ai-render-form .btn{justify-self:start;min-height:44px}.ai-render-status{font-weight:600;font-size:13px;min-height:1em}
.ai-render-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:8px 0 12px}.ai-render-compare figure{margin:0}.ai-render-compare img{display:block;width:100%;height:auto;border:1px solid #cbc2b3}
.ai-render-compare figcaption{font-size:12px;font-weight:600;margin-top:4px}.ai-render-compare .is-ai figcaption::before{content:'IA · ';color:#875936}
@media(max-width:600px){.ai-render-form{grid-template-columns:minmax(0,1fr)}}
/* B3: tour video dialog. */
.tour-video-format{font-size:13px;line-height:1.5;margin:0 0 8px}.tour-video-format.is-warning{background:#fbf1dc;border-left:3px solid #a8701d;padding:8px 10px}
.tour-video-preview{display:block;width:100%;max-height:min(56vh,520px);background:#111;border:1px solid #cbc2b3;margin:4px 0}
.tour-video-meta{font-size:12px;color:#4f5249;margin:4px 0 10px}.tour-video-actions{display:flex;flex-wrap:wrap;gap:10px}
.share-link-result{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;margin:8px 0}.share-link-result input{min-height:44px;padding:0 10px;border:1px solid #978b79;border-radius:4px;font:inherit;background:#fff}
.share-link-result a.btn{display:inline-flex;align-items:center;text-decoration:none;color:inherit}.share-link-meta{font-size:12px;color:#4f5249}
@media(max-width:600px){.share-link-result{grid-template-columns:1fr 1fr}.share-link-result input{grid-column:1/-1}}
.plan-service-files{list-style:none;padding:0;margin:0;display:grid;gap:6px}.plan-service-files li{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f3eee4;padding:4px 4px 4px 10px;border-radius:4px;font-size:13px;overflow-wrap:anywhere}
.plan-service-needs{border:1px solid #cbc2b3;border-radius:4px;display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 12px}.plan-service-needs label{display:flex;gap:6px;align-items:center;font-weight:400;min-height:32px}
.plan-service-form textarea{padding:8px 10px;border:1px solid #978b79;border-radius:4px;font:inherit;font-weight:400}.plan-service-form .is-wide{grid-column:1/-1}.plan-service-done{font-size:14px;line-height:1.55}.plan-service-hint{color:#4f5249;font-size:13px}
.welcome-service{margin:4px 0 0;font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.plan-service-needs input[type=checkbox]{width:20px;height:20px;min-height:0;padding:0;margin:0;flex:none}
/* B6: points marked by the client over the plan, in «Observaciones del cliente». */
.review-points{margin:8px 0}.review-points-plan{display:block;width:100%;max-height:260px;background:#f6f2e9;border:1px solid #d8d0c2;border-radius:4px}
.review-points-plan .preview-room{fill:#e9dfcd;stroke:#b8ab94;stroke-width:20}.review-points-plan .preview-wall{fill:#2d332f}
.review-point circle{fill:#b0442c;stroke:#fff;stroke-width:30}.review-point text{fill:#fff;font-weight:700;text-anchor:middle;dominant-baseline:central;font-family:system-ui,sans-serif}
.review-points figcaption{font-size:12px;color:#4f5249}
.moodboard-dialog{width:min(1100px,calc(100vw - 24px))}.moodboard-preview{display:block;width:100%;height:auto;border:1px solid #cbc2b3;margin:8px 0 12px}
.ai-render-alternatives{margin:0 0 12px}.ai-render-alternatives p{font-size:13px;color:#4f5249;margin:0 0 6px}.ai-render-alt{display:inline-grid;gap:4px;width:150px;margin:0 8px 8px 0;padding:4px;border:1px solid #cbc2b3;border-radius:4px;background:#fff;font:inherit;font-size:12px;text-align:left;vertical-align:top;cursor:pointer}.ai-render-alt img{width:100%;height:auto}.ai-render-alt.is-current{border-color:#205b60;box-shadow:0 0 0 2px #205b60}
/* C1: quantity schedules. */
.quantity-dialog{width:min(1100px,calc(100vw - 24px))}.quantity-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 14px}.quantity-summary div{background:#f3eee4;border-radius:4px;padding:8px 10px}.quantity-summary dt{font-size:12px;color:#4f5249}.quantity-summary dd{margin:2px 0 0;font:400 20px/1.2 Georgia,serif}
.quantity-table-wrap{overflow-x:auto;margin:0 0 14px}.quantity-table{width:100%;border-collapse:collapse;font-size:13px}.quantity-table caption{text-align:left;font-weight:700;font-size:14px;padding:4px 0 6px;color:#875936;text-transform:uppercase;letter-spacing:.04em}
.quantity-table th,.quantity-table td{border-bottom:1px solid #e3dccf;padding:6px 8px;text-align:left;vertical-align:top}.quantity-table thead th{font-size:12px;color:#4f5249;font-weight:600;background:#f8f4ec}.quantity-table .is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.quantity-foot,.quantity-level{font-size:12px;color:#4f5249;margin:-8px 0 14px}
.budget-dialog{width:min(1150px,calc(100vw - 24px))}.budget-bar{display:flex;gap:12px;align-items:end;margin:0 0 12px}.budget-bar label{display:grid;gap:4px;font-size:13px;font-weight:600}.budget-bar select{min-height:44px;padding:0 10px;border:1px solid #978b79;border-radius:4px;background:#fff;font:inherit;font-weight:400}
.budget-input{width:96px;min-height:40px;padding:0 8px;border:1px solid #978b79;border-radius:4px;font:inherit;text-align:right}.budget-table input[type=checkbox]{width:22px;height:22px}.budget-source{display:block;font-weight:400;color:#6b6a5f;font-size:11px}.budget-warn{background:#fbf1dc;border-left:3px solid #a8701d;padding:8px 10px;font-size:13px}
.budget-warnings{margin:0 0 12px;padding-left:20px;font-size:13px;color:#7a4b12}.budget-warnings .is-ok{color:#205b60;list-style:'✓ '}
@media(max-width:700px){.budget-table thead{display:none}.budget-table tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:8px 0;border-bottom:1px solid #e3dccf}.budget-table th[scope=row]{grid-column:1/-1;border:0;padding:0}.budget-table td{border:0;padding:0;display:grid;gap:2px;text-align:left}.budget-table td.is-num{text-align:left}.budget-table td::before{content:attr(data-label);font-size:11px;color:#6b6a5f}.budget-input{width:100%}}
.budget-small{display:block;min-height:32px;padding:0 10px;font-size:12px;margin-top:6px}.budget-ref-list .budget-small{display:inline-block;margin-top:0}.budget-ref{color:#205b60}.budget-bc3{border:1px solid #d8d0c2;border-radius:4px;padding:8px 12px;margin:0 0 12px}.budget-bc3 summary{font-weight:600;cursor:pointer}.budget-bc3-note{font-size:12px;color:#4f5249}.budget-bc3 label{display:grid;gap:4px;font-size:13px;font-weight:600;max-width:280px}.budget-bc3 select{min-height:40px}
.budget-ref-row td{background:#f6f2e9}.budget-ref-q{width:100%;min-height:40px;padding:0 10px;border:1px solid #978b79;border-radius:4px;font:inherit}.budget-ref-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}.budget-ref-list li{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}
