@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#101a2a;--navy2:#1b2b40;--ink:#202a36;--muted:#7b8490;--line:#e8e9e8;--paper:#f7f7f4;--white:#fff;--bronze:#ad8a5b;--green:#63836f;--amber:#bd9252;--radius:22px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}.app-shell{max-width:1120px;margin:auto;min-height:100vh;padding-bottom:100px}.topbar{height:78px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.9);border-bottom:1px solid #ececea;position:sticky;top:0;z-index:5;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:185px;height:auto;max-height:48px;object-fit:contain}.brand-divider{height:24px;width:1px;background:#d9d9d5}.product-name{font-size:10px;letter-spacing:2.5px;color:#7c8187;font-weight:700}.top-actions{display:flex;align-items:center;gap:18px}.sync-pill{font-size:11px;color:#718075;background:#edf3ee;padding:8px 12px;border-radius:30px}.sync-pill i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6b9478;margin-right:6px}.avatar{width:36px;height:36px;border:0;border-radius:50%;background:var(--navy);color:white;font-size:11px;font-weight:700}main{padding:44px 5.5% 30px}.view{display:none}.view.active{display:block}.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--bronze);margin:0 0 11px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(29px,4vw,42px);letter-spacing:-1.8px;margin-bottom:8px;color:var(--navy)}h2{font-size:22px;letter-spacing:-.7px;margin:0}.period{color:var(--bronze)}.muted{color:var(--muted);font-size:13px;margin-bottom:0;line-height:1.6}.primary-button,.secondary-button{border:0;border-radius:13px;padding:13px 18px;font:600 12px 'DM Sans',sans-serif;cursor:pointer;transition:.2s}.primary-button{background:var(--navy);color:white;box-shadow:0 5px 14px #101a2a18}.primary-button:active{transform:scale(.98)}.secondary-button{background:#f0f1ef;color:var(--navy)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:44px}.stat-card{background:white;border:1px solid #ededeb;border-radius:18px;padding:18px 20px;display:flex;align-items:center;gap:14px}.stat-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-size:20px}.stat-icon.navy{background:#edf0f4;color:var(--navy)}.stat-icon.bronze{background:#f5f0e8;color:var(--bronze)}.stat-icon.green{background:#edf3ee;color:var(--green)}.stat-card strong{display:block;font:700 23px Manrope;color:var(--navy)}.stat-card small{font-size:11px;color:var(--muted)}.section-heading,.panel-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:17px}.text-button,.back-link{background:none;border:0;color:var(--bronze);font:600 12px 'DM Sans';cursor:pointer}.project-card{display:grid;grid-template-columns:34% 1fr;background:white;border:1px solid #eaeae7;border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 35px #1c26330a}.project-visual{background:linear-gradient(145deg,#1a2a40,#34465a);min-height:225px;position:relative;display:grid;place-items:center;overflow:hidden}.project-visual:before,.project-visual:after{content:"";position:absolute;border:1px solid #ffffff18;border-radius:50%;width:240px;height:240px}.project-visual:after{width:330px;height:330px}.building-mark{font:300 54px Manrope;color:#ffffffc9;letter-spacing:7px}.project-status{font-size:9px;letter-spacing:1.3px;color:#67816d;background:#eef3ed;padding:7px 10px;border-radius:20px;font-weight:700}.project-visual .project-status{position:absolute;top:18px;left:18px;background:#ffffff20;color:#e4eee6}.project-info{padding:25px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}.project-info h3{font-size:22px;margin:0 0 5px;color:var(--navy)}.project-info .muted{font-size:12px}.project-progress{max-width:450px}.progress-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:8px}.progress-label b{color:var(--navy)}.progress-track{height:5px;background:#edf0ed;border-radius:5px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--bronze);border-radius:5px}.project-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f0ed;padding-top:14px;color:var(--muted);font-size:10px}.project-footer b{color:var(--ink);font-weight:600;margin-left:5px}.round-arrow{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--navy);font-size:16px}.recent-heading{margin-top:40px}.quick-list{background:white;border:1px solid #ededeb;border-radius:18px;overflow:hidden}.quick-item{display:flex;align-items:center;gap:13px;padding:15px 18px;border-bottom:1px solid #f0f0ed}.quick-item:last-child{border:0}.quick-symbol{width:34px;height:34px;border-radius:11px;display:grid;place-items:center}.quick-symbol.amber{background:#f7f1e8;color:#b58b4f}.quick-symbol.blue{background:#eef1f5;color:#52677f}.quick-item b,.document-item b,.visit-item b{font-size:12px;display:block}.quick-item small,.document-item small,.visit-item small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.quick-date{margin-left:auto;color:#a0a4a6;font-size:10px}.back-link{padding:0;margin-bottom:24px;color:#7d8791}.project-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.project-title-row h1{font-size:34px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow:auto}.tab{white-space:nowrap;border:0;background:none;padding:13px 16px;color:#89919a;font:600 12px 'DM Sans';border-bottom:2px solid transparent}.tab.active{color:var(--navy);border-color:var(--bronze)}.tab b{font-size:9px;background:#f0f1ef;border-radius:12px;padding:3px 6px;margin-left:5px}.tab-panel{display:none;padding-top:27px}.tab-panel.active{display:block}.panel-heading{align-items:center}.panel-heading h2{font-size:20px;margin-bottom:5px}.panel-heading .muted{font-size:11px}.observation-list{display:grid;gap:12px}.observation-card{background:white;border:1px solid #e9eae7;border-radius:17px;padding:17px 19px;display:flex;gap:14px;align-items:flex-start}.obs-marker{width:35px;height:35px;border-radius:11px;background:#f4efe7;color:var(--bronze);display:grid;place-items:center;flex-shrink:0}.obs-content{flex:1;min-width:0}.obs-content b{font-size:13px}.obs-content p{font-size:11px;color:var(--muted);margin:5px 0;line-height:1.5}.obs-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.tag{font-size:9px;padding:5px 8px;border-radius:20px;background:#f0f2ef;color:#718075;white-space:nowrap}.obs-photo-count{font-size:10px;color:var(--muted);margin-left:auto}.empty-state{text-align:center;padding:50px 20px;background:white;border:1px dashed #d9dcd7;border-radius:18px}.empty-state>span{font-size:30px;color:var(--bronze)}.empty-state b{display:block;margin:10px 0 5px;font:700 16px Manrope}.empty-state p{font-size:12px;color:var(--muted)}.empty-state .secondary-button{margin-top:8px}.placeholder-card{background:white;border:1px solid var(--line);border-radius:18px;padding:40px;text-align:center;max-width:620px;margin:auto}.large-icon{font-size:34px;color:var(--bronze)}.placeholder-card h3{margin:12px 0 7px}.placeholder-card p,.note{font-size:12px;color:var(--muted);line-height:1.7;max-width:520px;margin:0 auto}.visit-item,.document-item{background:white;border:1px solid var(--line);border-radius:15px;padding:15px;display:flex;align-items:center;gap:14px;margin-bottom:10px}.visit-date{width:40px;height:44px;background:#f4f0e9;color:var(--bronze);border-radius:10px;display:grid;place-content:center;text-align:center;font:700 16px Manrope}.visit-date small{font:700 8px 'DM Sans'}.visit-item .tag,.document-item .tag{margin-left:auto}.doc-icon{width:38px;height:42px;border-radius:8px;background:#f6eded;color:#a16d6d;display:grid;place-items:center;font-size:9px;font-weight:700}.note{margin:18px 0 0}.editor-heading{margin-bottom:27px}form{max-width:720px;background:white;border:1px solid var(--line);border-radius:20px;padding:24px}.field-label{display:block;font-size:11px;font-weight:700;color:#47515c;margin:17px 0 8px}.field{width:100%;border:1px solid #e4e6e3;background:#fbfbfa;border-radius:11px;padding:13px 14px;font:12px 'DM Sans';color:var(--ink);outline:none}.field:focus{border-color:#a98a61;box-shadow:0 0 0 3px #ad8a5b18}.textarea{resize:vertical;min-height:100px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.voice-row{display:flex;align-items:center;gap:12px;margin-top:12px}.tiny{font-size:10px}.photo-drop{min-height:110px;border:1px dashed #cfd3ce;border-radius:13px;background:#fafaf8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:var(--navy)}.photo-drop input{display:none}.photo-plus{font-size:23px;color:var(--bronze)}.photo-drop b{font-size:11px}.photo-drop small{font-size:10px;color:var(--muted)}.photo-preview{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.photo-thumb{width:76px;height:76px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:18px;border-top:1px solid #f0f0ed}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:75px;padding:8px max(5%,calc((100% - 850px)/2)) calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;background:#ffffffed;border-top:1px solid #e9eae7;backdrop-filter:blur(18px);z-index:8}.nav-item{background:none;border:0;color:#9aa0a5;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:55px}.nav-item span{font-size:20px;line-height:22px}.nav-item small{font-size:9px}.nav-item.active{color:var(--navy)}.nav-add span{width:37px;height:37px;display:grid;place-items:center;border-radius:13px;background:var(--navy);color:white;font-size:24px;margin-top:-16px;box-shadow:0 5px 12px #101a2a30}.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--navy);color:white;padding:12px 17px;border-radius:12px;font-size:11px;box-shadow:0 8px 25px #0002;transition:.25s;z-index:20;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:800px){.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(700px,90%);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}.app-shell{padding-bottom:110px}}
@media(max-width:650px){.topbar{height:65px;padding:0 18px}.brand img{width:140px}.product-name{font-size:8px;letter-spacing:1.5px}.top-actions{gap:8px}.sync-pill{font-size:9px;padding:7px 9px}main{padding:30px 18px 20px}.welcome{align-items:flex-start;flex-direction:column}.welcome .primary-button{width:100%}.stats{gap:7px;margin-bottom:34px}.stat-card{padding:12px 9px;gap:8px;flex-direction:column;align-items:flex-start}.stat-icon{width:31px;height:31px;font-size:16px;border-radius:9px}.stat-card strong{font-size:20px}.stat-card small{font-size:9px}.project-card{grid-template-columns:1fr}.project-visual{min-height:120px}.building-mark{font-size:37px}.project-info{padding:19px}.project-info h3{font-size:19px}.section-heading{margin-bottom:14px}.project-title-row{align-items:flex-start;gap:10px}.project-title-row h1{font-size:27px}.project-title-row .project-status{margin-top:8px}.tabs{margin:0 -18px;padding:0 12px}.tab{padding:13px 12px;font-size:11px}.panel-heading{align-items:flex-start;gap:10px}.panel-heading h2{font-size:17px}.panel-heading .primary-button{padding:11px 12px;white-space:nowrap}.field-grid{grid-template-columns:1fr;gap:0}form{padding:17px}.quick-date{display:none}.obs-photo-count{display:none}.bottom-nav{height:72px}.editor-actions .primary-button{flex:1}.editor-actions .secondary-button{padding:12px}.recent-heading{margin-top:32px}}
