.portfolio-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:4px 0 18px}.portfolio-head h2{font-size:1.35rem}.portfolio-head p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.portfolio-head .eyebrow{margin-bottom:5px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.portfolio-actions{display:flex;gap:8px}.project-deck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s}.project-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #071c2020}.project-cover{position:relative;display:block;width:100%;aspect-ratio:16/8.6;padding:0;border:0;background:var(--nav);overflow:hidden;cursor:pointer;text-align:left}.project-cover:focus-visible,.project-branches button:focus-visible,.add-project-card:focus-visible{outline:3px solid var(--pop);outline-offset:2px}.project-art{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-cover:hover .project-art{transform:scale(1.025)}.project-status{position:absolute;top:13px;left:13px;padding:5px 9px;border-radius:999px;background:#071c20d9;color:white;font-size:.68rem;font-weight:800}.open-project{position:absolute;right:13px;bottom:13px;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#fff;color:#0c2a30;font-size:.7rem;font-weight:800;box-shadow:0 5px 16px #0003}.open-project b{font-size:1rem}.project-info{padding:15px 16px 16px}.project-name{display:flex;justify-content:space-between;gap:12px;align-items:start}.project-name h2{font-size:1rem}.project-name p{margin:3px 0 0;color:var(--muted);font-size:.72rem}.card-menu{width:36px;height:36px;flex:none;border:0;border-radius:9px;background:var(--soft);color:var(--muted);cursor:pointer}.project-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.project-metrics span{min-width:0}.project-metrics small,.project-metrics b{display:block}.project-metrics small{color:var(--muted);font-size:.62rem}.project-metrics b{margin-top:3px;font:800 .86rem Manrope}.project-metrics .attention b{color:var(--warn)}.add-project-card{min-height:315px;display:grid;place-items:center;align-content:center;gap:7px;border:1.5px dashed color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--accent) 4%,var(--card));color:var(--ink);cursor:pointer}.add-project-card i{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--soft);color:var(--accent);font:normal 1.65rem Manrope}.add-project-card b{font:800 .95rem Manrope}.add-project-card span{color:var(--muted);font-size:.72rem}.portfolio-return{margin-bottom:10px;border:0;background:transparent;color:var(--accent);padding:4px 0;font-weight:800;cursor:pointer}.project-hero{position:relative;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:18px;min-height:145px;padding:16px;border-radius:18px;background:var(--nav);color:white;overflow:hidden}.project-hero>.project-art{width:190px;height:112px;border-radius:12px}.project-hero-copy h2{margin-top:7px;font-size:1.2rem}.project-hero-copy p{margin:4px 0 0;color:#b2c5c4;font-size:.75rem}.project-kpis{margin-top:11px}.branch-label{display:flex;align-items:center;justify-content:space-between;margin:22px 2px 9px}.branch-label span{color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.1em}.branch-label small{color:var(--muted);font-size:.68rem}.project-branches{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.project-branches button{min-height:82px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:.14s}.project-branches button:hover{border-color:var(--accent);transform:translateY(-2px)}.project-branches i{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--soft);color:var(--accent);font-style:normal;font-size:1rem}.project-branches b,.project-branches small{display:block}.project-branches b{font-size:.76rem}.project-branches small{margin-top:2px;color:var(--muted);font-size:.63rem}.project-branches em{color:var(--muted);font-style:normal}.finance-branch{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;margin-top:9px;padding:15px 16px;border:0;border-radius:14px;background:linear-gradient(115deg,var(--nav),var(--nav2));color:white;text-align:left;cursor:pointer}.finance-branch small,.finance-branch b{display:block}.finance-branch small{margin-bottom:4px;color:var(--pop);font-size:.58rem;font-weight:800;letter-spacing:.09em}.finance-branch b{font-size:.78rem}.finance-branch strong{font:800 1rem Manrope}.finance-branch em{font-style:normal}.work-packages{margin-top:9px}.project-manage-row{display:flex;align-items:center;justify-content:space-between;text-align:left}.project-manage-row small{display:block;color:var(--muted);font-weight:500}
@media(max-width:850px){main,body.collapsed main{padding-bottom:88px}.portfolio-head{align-items:start}.project-deck{grid-template-columns:1fr}.project-branches{grid-template-columns:1fr 1fr}.project-hero{grid-template-columns:125px 1fr auto}.project-hero>.project-art{width:125px;height:92px}#bottomNav{padding:7px 3px calc(7px + env(safe-area-inset-bottom))}#bottomNav button{min-height:48px;font-size:1.05rem}#bottomNav button span{font-size:.64rem}}
@media(max-width:520px){.portfolio-head{display:block}.portfolio-head h2{font-size:1.2rem}.portfolio-actions{margin-top:13px}.portfolio-actions button{flex:1}.project-cover{aspect-ratio:16/9.4}.project-info{padding:14px}.project-metrics{grid-template-columns:repeat(2,1fr);row-gap:11px}.add-project-card{min-height:190px}.project-hero{grid-template-columns:1fr;padding:12px}.project-hero>.project-art{width:100%;height:142px}.project-hero .health{display:block;position:absolute;right:22px;bottom:19px}.project-kpis{grid-template-columns:1fr 1fr}.project-branches{grid-template-columns:1fr}.finance-branch{grid-template-columns:1fr auto}.finance-branch strong{display:none}.branch-label small{display:none}}
.project-passport{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:10px;align-items:center;margin-top:10px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:var(--card);box-shadow:var(--shadow)}.project-passport span{min-width:0}.project-passport small,.project-passport b,.project-passport em{display:block}.project-passport small{color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.08em}.project-passport b{margin:3px 0;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-passport em{color:var(--muted);font-size:.62rem;font-style:normal}.project-passport button{border:0;border-radius:9px;padding:9px 11px;background:var(--soft);color:var(--accent);font-weight:800;cursor:pointer}.image-upload-preview{height:150px;display:grid;place-items:center;overflow:hidden;border:1.5px dashed var(--line);border-radius:12px;background:var(--soft);color:var(--muted);font-size:.72rem}.image-upload-preview img{width:100%;height:100%;object-fit:cover}.project-review>.project-card{transform:none}.project-review .project-cover{aspect-ratio:16/7.5}.review-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-facts span{padding:9px;border-radius:9px;background:var(--soft)}.review-facts small,.review-facts b{display:block}.review-facts small{color:var(--muted);font-size:.6rem}.review-facts b{margin-top:3px;font-size:.7rem}.document-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.document-summary button{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow)}.document-summary i{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:var(--soft);color:var(--accent);font-style:normal;font-size:1rem}.document-summary b,.document-summary small{display:block}.document-summary b{font-size:.72rem}.document-summary small{margin-top:2px;color:var(--muted);font-size:.62rem}.doc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 8px}.doc-toolbar>div{display:flex;gap:5px;overflow:auto;padding:2px}.doc-toolbar button{border:0;border-radius:999px;padding:7px 10px;background:var(--soft);color:var(--muted);font-size:.66rem;font-weight:700;white-space:nowrap;cursor:pointer}.doc-toolbar button.active{background:var(--accent);color:white}.doc-toolbar small{color:var(--muted);font-size:.65rem;white-space:nowrap}.document-list{display:grid;gap:7px}.document-row{display:grid;grid-template-columns:48px 1fr auto;grid-template-areas:'icon name action' 'icon meta action';align-items:center;gap:4px 12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.file-icon{grid-area:icon;display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:var(--soft);color:var(--accent);font-size:.58rem;font-weight:900}.document-name{grid-area:name;display:flex;align-items:center;justify-content:space-between;gap:12px}.document-name b,.document-name small{display:block}.document-name b{font-size:.76rem}.document-name small{margin-top:2px;color:var(--muted);font-size:.62rem}.document-name>div{display:flex;align-items:center;gap:7px}.document-name strong{font-size:.66rem}.document-name em{font-style:normal}.document-meta{grid-area:meta;display:flex;gap:15px;color:var(--muted);font-size:.62rem}.document-row>.quiet{grid-area:action}.empty-doc{display:grid;place-items:center;gap:5px;padding:38px;border:1px dashed var(--line);border-radius:13px;background:var(--card)}.empty-doc i{font-style:normal;color:var(--accent);font-size:1.5rem}.empty-doc b{font-size:.78rem}.empty-doc span{color:var(--muted);font-size:.68rem}.document-rule{margin-top:10px}.upload-review,.document-preview{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.upload-review>div:last-child{min-width:0}.upload-review b,.upload-review span,.document-preview b,.document-preview small{display:block}.upload-review b{font-size:.78rem}.upload-review span,.document-preview small{margin-top:3px;color:var(--muted);font-size:.65rem}.document-preview>span{flex:1}.document-preview em{font-style:normal}.document-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.plan-preview{min-height:320px;display:grid;place-items:center;align-content:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,var(--soft),var(--card));text-align:center}.plan-preview span{color:var(--muted);font-size:.6rem;letter-spacing:.12em}.plan-preview b{font:800 1.1rem Manrope}.plan-preview i{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:var(--card);color:var(--accent);font-style:normal;font-weight:900;box-shadow:var(--shadow)}.plan-preview small{color:var(--muted)}.extract-banner{display:flex;justify-content:space-between;gap:10px;padding:10px;border-radius:9px;background:#fff0d8;color:#7d551c}.extract-banner b{font-size:.72rem}.extract-banner span{font-size:.64rem}.extract-fields{display:grid;gap:7px}.extract-fields label{display:grid;grid-template-columns:auto 110px 1fr;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:9px}.extract-fields input[type=checkbox],.checkline input{width:auto;margin:0}.extract-fields input:last-child{margin:0}.checkline{display:flex;align-items:center;gap:8px}
@media(max-width:900px){.project-passport{grid-template-columns:1fr 1fr}.document-summary{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.project-passport{grid-template-columns:1fr}.document-summary{grid-template-columns:1fr 1fr}.document-row{grid-template-columns:42px 1fr auto;gap:5px 9px}.file-icon{width:42px;height:42px}.document-name{display:block}.document-name>div{margin-top:5px}.document-meta span:nth-child(3){display:none}.doc-toolbar{display:block}.doc-toolbar small{display:block;margin:6px 2px}.document-actions{grid-template-columns:1fr 1fr}.review-facts{grid-template-columns:1fr}.extract-fields label{grid-template-columns:auto 1fr}.extract-fields input:last-child{grid-column:1/-1}.project-review .project-metrics{display:none}}
.project-identity{min-width:0}.project-gallery{display:flex;gap:7px;max-width:100%;margin-top:12px;padding:2px 2px 7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin}.gallery-thumb,.gallery-placeholder,.gallery-add{width:88px;height:52px;flex:0 0 88px;border-radius:8px;overflow:hidden;scroll-snap-align:start}.gallery-thumb{padding:0;border:1px solid #ffffff50;background:#173136;cursor:pointer}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-placeholder{position:relative;display:flex;align-items:end;padding:6px;background:linear-gradient(135deg,#507b85,#173849);color:white}.gallery-placeholder.homes{background:linear-gradient(135deg,#c68f72,#5c4853)}.gallery-placeholder.water{background:linear-gradient(135deg,#56bfc6,#0f5963)}.gallery-placeholder span{font-size:.54rem;font-weight:800}.gallery-placeholder b{position:absolute;right:6px;top:4px;color:#ffffff80;font-size:.65rem}.gallery-add{display:grid;place-items:center;align-content:center;gap:1px;border:1px dashed #ffffff80;background:#ffffff12;color:white;cursor:pointer}.gallery-add i{font-style:normal;font-size:1rem}.gallery-add span{font-size:.52rem}.gallery-upload-preview{min-height:115px;display:flex;gap:7px;padding:8px;overflow-x:auto;border:1px dashed var(--line);border-radius:11px;background:var(--soft);color:var(--muted);font-size:.68rem}.gallery-upload-preview>span{margin:auto}.gallery-upload-preview img{width:115px;height:92px;flex:none;border-radius:8px;object-fit:cover}.gallery-viewer>img{width:100%;max-height:55vh;border-radius:12px;object-fit:contain;background:#071c20}.gallery-viewer-nav{display:flex;gap:7px;margin-top:8px;overflow-x:auto}.gallery-viewer-nav button{width:70px;height:48px;flex:none;padding:2px;border:2px solid transparent;border-radius:8px;background:var(--soft);cursor:pointer}.gallery-viewer-nav button.active{border-color:var(--accent)}.gallery-viewer-nav img{width:100%;height:100%;border-radius:5px;object-fit:cover}
@media(max-width:520px){.project-gallery{margin-top:10px}.gallery-thumb,.gallery-placeholder,.gallery-add{width:104px;height:62px;flex-basis:104px}}
