
:root{
  --green:#082f27;--green2:#0f5132;--lime:#6fbf2a;--gold:#d8a82c;--cream:#f7f5ee;
  --ink:#14211d;--muted:#6d7874;--line:#dde4df;--white:#fff;--red:#c83a3a;--orange:#d89a19;--purple:#6f42c1;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Arial,sans-serif;background:#f5f7f5;color:var(--ink)}
button{font:inherit;cursor:pointer}.topbar{position:sticky;top:0;z-index:10;background:linear-gradient(90deg,#05241e,#0a392f);color:white;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;box-shadow:0 3px 15px #0002}
.brand{display:flex;align-items:center;gap:14px}.brand span,.brand small{display:block;font-size:11px;letter-spacing:.08em}.brand-logo{display:block;width:190px;height:66px;object-fit:contain;border-radius:8px;background:#eaf2f7}.a3{font-weight:900;font-size:34px;color:#f3bd24}.a3.big{font-size:58px}.company-name{padding-left:14px;border-left:1px solid #ffffff35;font-weight:800;letter-spacing:.12em}.company-name small{color:#a6d087;margin-top:4px}.villa-wordmark{font-family:Georgia,serif;font-size:28px;letter-spacing:.13em;margin:12px 0;color:var(--green)}.villa-wordmark small{display:block;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.28em;color:#739d36}.villa-wordmark.large{font-size:38px;color:#fff}.villa-wordmark.large small{color:#b8db7f}
.public-nav{display:flex;gap:8px;flex-wrap:wrap}.public-nav button,.panel-head button{border:0;background:transparent;color:inherit}.public-nav button{color:#fff;padding:10px 12px;border-radius:8px}.public-nav button:hover{background:#ffffff16}
.public-nav .client-nav{background:#f3bd24;color:#082f27;font-weight:800}.public-nav .client-nav:hover{background:#ffd764}
main{min-height:100vh}.view{display:none;padding:26px}.view.active{display:block}.a3-hero{min-height:430px;border-radius:26px;padding:56px;background:linear-gradient(115deg,#061f1a,#0f5132 58%,#d8a82c);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;overflow:hidden}.a3-hero h1{font-size:clamp(38px,5vw,66px);line-height:1.05;margin:12px 0 20px;max-width:900px}.a3-hero p{font-size:18px;line-height:1.6;max-width:720px}.a3-hero img{width:100%;max-width:520px;border-radius:22px;background:#eaf2f7;box-shadow:0 25px 70px #001b}.ventures-section{max-width:1180px;margin:52px auto}.venture-card{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:center;padding:34px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fff,#eef5ef);box-shadow:0 18px 45px #082f2710}.venture-card h2{font-size:30px;margin:8px 0}.venture-card p{line-height:1.6}.venture-tag{display:inline-block;padding:6px 10px;border-radius:999px;background:#e7f2df;color:var(--green2);font-size:11px;font-weight:900;letter-spacing:.1em}.venture-action{margin-top:12px;font-size:16px}.venture-action span{margin-left:9px}.venture-progress{text-align:center}.venture-progress strong,.venture-progress small{display:block;margin-top:8px}.villa-view{max-width:1320px;margin:0 auto}.back-a3{border:0;background:transparent;color:var(--green2);font-weight:800;padding:5px 0;margin-bottom:14px}.villa-hero{min-height:330px;border-radius:25px;padding:46px;background:linear-gradient(115deg,#082f27,#0f5132 65%,#b99841);color:#fff;display:grid;grid-template-columns:1fr 290px;gap:30px;align-items:center}.villa-hero h1{font-size:44px;margin:10px 0}.villa-hero>div>p:last-child{font-size:18px;line-height:1.6}.overall-card{color:var(--ink)}.villa-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.villa-tools button{display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:13px;padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);box-shadow:0 8px 22px #082f2708;transition:transform .18s ease,border-color .18s ease}.villa-tools button:hover,.villa-tools button:focus-visible{transform:translateY(-2px);border-color:var(--lime);outline:2px solid #6fbf2a55}.tool-icon{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#e8f2e8;color:var(--green2);font-weight:900;font-size:20px}.villa-tools strong{font-size:17px}.villa-tools small{color:var(--muted);margin-top:4px}.hero{min-height:360px;border-radius:24px;padding:48px;background:linear-gradient(115deg,#0b392f,#0f5132 55%,#d6c9a7);color:white;display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:center}.hero h1{font-size:48px;max-width:820px;margin:10px 0}.hero p{font-size:18px;max-width:760px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:#7cb946}.hero-actions{display:flex;gap:12px;margin-top:25px}.primary,.secondary{border-radius:9px;padding:11px 16px;border:1px solid var(--green2);font-weight:700}.primary{background:var(--green2);color:white}.secondary{background:white;color:var(--green2)}.full{width:100%}
.hero-side{justify-self:end;display:grid;width:280px}.hero-card{background:white;color:var(--ink);padding:22px;border-radius:20px;text-align:center;width:100%}.progress-ring{width:118px;height:118px;border-radius:50%;margin:auto;display:grid;place-items:center;background:conic-gradient(var(--lime) var(--overall,0%),#e5e9e6 0);position:relative}.progress-ring:after{content:"";position:absolute;width:87px;height:87px;background:white;border-radius:50%}.progress-ring span{z-index:1;font-size:28px;font-weight:800}.hero-card strong,.hero-card small{display:block;margin-top:10px}
.cards{display:grid;gap:14px;margin:18px 0}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.cards article,.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:18px}.metric{font-size:34px;font-weight:800;color:var(--green2);display:block}.cards small{color:var(--muted)}.grid-2{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.panel-head,.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-title h1{margin:2px 0 18px;font-size:34px}.big-progress{background:white;padding:14px 18px;border-radius:12px;border:1px solid var(--line)}.big-progress span{font-size:30px;font-weight:800;color:var(--green2)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted);text-transform:uppercase}.status{font-weight:700}.status.done{color:var(--green2)}.status.ongoing{color:#2563eb}.status.notstarted{color:#777}.bar{width:110px;height:8px;background:#e8ece9;border-radius:20px;overflow:hidden;display:inline-block;margin-right:7px}.bar i{display:block;height:100%;background:var(--green2)}
.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin:18px 0 28px}.work-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:20px;text-align:left;color:var(--ink);box-shadow:0 9px 24px #082f2708;transition:transform .18s ease,border-color .18s ease}.work-card:hover,.work-card:focus-visible{transform:translateY(-3px);border-color:var(--lime);outline:2px solid #6fbf2a44}.work-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.work-card .status{font-size:12px;padding:5px 9px;border-radius:999px;background:#edf3ef}.work-percent{font-size:28px;font-weight:900;color:var(--green2)}.work-card h2{font-size:20px;min-height:48px;margin:13px 0}.work-progress{height:9px;border-radius:999px;background:#e8ece9;overflow:hidden}.work-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green2),var(--lime));border-radius:inherit}.work-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.work-quick span{padding:10px;background:#f5f8f5;border-radius:10px}.work-quick small,.work-quick strong{display:block}.work-quick small{font-size:11px;color:var(--muted);margin-bottom:5px}.work-quick strong{font-size:14px}.work-more{display:block;margin-top:15px;color:var(--green2);font-weight:800;font-size:13px}.work-detail-head{display:flex;align-items:center;gap:18px;margin:8px 0 20px}.detail-progress-ring{width:96px;height:96px;flex:0 0 96px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--lime) var(--stage),#e5e9e6 0);position:relative}.detail-progress-ring:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:#fff}.detail-progress-ring span{position:relative;z-index:1;font-size:22px;font-weight:900}.work-detail-head p{color:var(--muted);margin:8px 0}.work-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.work-detail-grid>div{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f7f9f7}.work-detail-grid small,.work-detail-grid strong{display:block}.work-detail-grid small{color:var(--muted);margin-bottom:6px}.work-detail-grid .next-work{background:#edf6e8;border-color:#bad9a4}.work-note{margin-top:13px;padding:15px;border-left:4px solid var(--gold);background:#fff9e6;border-radius:8px}.work-note p{margin:7px 0 0;line-height:1.5}.work-dates{display:flex;justify-content:space-between;gap:15px;margin-top:17px;padding-top:15px;border-top:1px solid var(--line);font-size:13px}
.budget-source{display:flex;gap:14px;align-items:center;padding:14px 17px;border:1px solid #d8c58d;border-radius:12px;background:#fff9e9;color:#574714}.budget-source span{font-size:14px}.budget-components{margin-top:22px}.component-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.component-title h3{margin:3px 0}.component-title small{color:var(--muted)}.component-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.component-row{display:grid;grid-template-columns:48px minmax(210px,1.5fr) minmax(95px,.55fr) minmax(95px,.55fr) 72px;gap:10px;align-items:center;padding:12px;background:#fff;border-bottom:1px solid var(--line)}.component-row:last-child{border-bottom:0}.component-code{font-weight:900;color:var(--green2)}.component-name small,.component-row>div small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.component-row>div>strong{font-size:13px}.component-percent{text-align:right}.component-editor{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.component-edit-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(110px,.45fr) minmax(180px,.8fr);gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.component-edit-row>div small{display:block;color:var(--muted);margin-top:5px}.component-edit-row label{font-size:12px;font-weight:700}.component-edit-row input{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;margin-top:5px}
.work-media-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.work-media-empty{padding:24px;border:2px dashed #cbd8cf;border-radius:12px;background:#f7faf7;color:var(--muted);text-align:center}.work-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.work-media-card{display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:inherit;text-decoration:none}.work-media-card img{width:100%;height:150px;object-fit:cover;border-radius:8px}.work-media-card small{color:var(--green2);font-weight:800}.work-video-wrap{position:relative;padding-top:56.25%;overflow:hidden;border-radius:8px;background:#111}.work-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.work-media-link-icon{display:grid;place-items:center;height:150px;border-radius:8px;background:linear-gradient(135deg,#dce8de,#a9bea9);color:var(--green2);font-size:38px}.work-media-editor{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.work-media-edit-row{display:grid;grid-template-columns:1fr 105px 1.35fr auto;gap:9px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.work-media-edit-row label,.work-media-new label{font-size:12px;font-weight:700}.work-media-edit-row .media-remove{display:flex;align-items:center;gap:6px;padding-bottom:10px;color:#9b2020}.work-media-edit-row .media-remove input{width:auto;margin:0}.work-media-new{margin-top:14px;padding:14px;border-radius:12px;background:#f1f6f2}.work-media-new>strong{display:block;margin-bottom:10px}
.work-archive-picker{margin-top:22px;padding:17px;border:1px solid #b9d1bd;border-radius:14px;background:#f4f9f4}.work-archive-picker>label{font-size:13px;font-weight:800}.work-archive-results{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:340px;overflow:auto;margin-top:12px;padding-right:4px}.work-archive-option{display:grid;grid-template-columns:auto 42px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.work-archive-option:has(input:checked){border-color:var(--lime);background:#f0f8eb}.work-archive-option input{width:auto;margin:0}.work-archive-option .archive-icon{width:38px;height:38px}.work-archive-option strong,.work-archive-option small{display:block}.work-archive-option small{margin-top:4px;color:var(--muted);font-size:11px}.work-archive-option[hidden]{display:none}.archive-preview-link{padding:8px 10px;border:1px solid var(--green2);border-radius:8px;background:#fff;color:var(--green2);font-size:12px;font-weight:900;text-decoration:none}.archive-preview-link:hover,.archive-preview-link:focus-visible{background:var(--green2);color:#fff;outline:2px solid #6fbf2a55}
.diary-item,.comm-item,.doc-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}.thumb{width:120px;height:80px;border-radius:10px;object-fit:cover;background:#d7dfd9}.diary-item h3,.comm-item h3{margin:0 0 6px}.meta{font-size:12px;color:var(--muted)}.legend{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 18px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.available{background:#2f8f3a}.reserved{background:#e5a318}.sold{background:#c83a3a}.blocked{background:#6f42c1}.pending{background:#879099}.lots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px}.lot{background:white;border:2px solid var(--line);border-radius:11px;padding:15px;text-align:center;position:relative}.lot.available{border-color:#2f8f3a}.lot.reserved{border-color:#e5a318}.lot.sold{border-color:#c83a3a}.lot.blocked{border-color:#6f42c1;background:#f6f0ff}.lot.pending{border-color:#879099;background:#f5f7f8}.lot strong{display:block;font-size:18px}.lot small{color:var(--muted)}.lot-meta{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.note{font-size:13px;color:var(--muted);margin-top:14px}.lot-toolbar{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 18px}.lot-toolbar label{font-size:13px;font-weight:700}.lot-toolbar input,.lot-toolbar select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:6px;background:#fff}.map-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:22px}.map-head,.lot-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.map-head h2,.lot-results-head h2{margin:0}.map-head p{margin:5px 0 0;color:var(--muted)}.map-viewport{height:min(68vh,720px);overflow:auto;border-radius:12px;background:#07090a;touch-action:pan-x pan-y}.map-viewport img{display:block;width:100%;min-width:720px;height:auto;transform-origin:top left;transition:width .15s ease}.lot-results-head{margin:4px 0 12px}.lot-results-head span{color:var(--muted);font-size:14px}.empty-lots{grid-column:1/-1;background:#fff;border:1px dashed var(--line);border-radius:12px;padding:24px;text-align:center;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.gallery-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.gallery-card .media-placeholder{height:140px;background:linear-gradient(135deg,#c8d3ca,#8da38f);display:grid;place-items:center;font-size:38px}.gallery-card .info{padding:12px}.doc-item{justify-content:space-between}.private-badge{font-size:11px;background:#f1e8ff;color:#6f42c1;border-radius:20px;padding:5px 8px}.warning{background:#fff8df;border-color:#f1d277}
.admin-shell{padding:0}.admin-shell.active{display:flex}.sidebar{width:230px;background:#082f27;color:white;min-height:calc(100vh - 76px);padding:20px 12px;display:flex;flex-direction:column;gap:6px}.side-title{padding:10px 12px;color:#8ac46d;font-size:12px;text-transform:uppercase}.sidebar button{border:0;background:transparent;color:white;text-align:left;padding:11px 12px;border-radius:8px}.sidebar button.active,.sidebar button:hover{background:#ffffff14}.admin-content{flex:1;padding:26px;min-width:0}.admin-panel{display:none}.admin-panel.active{display:block}.admin-row{display:grid;grid-template-columns:1fr 130px minmax(210px,280px) 120px;gap:10px;align-items:center;background:white;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:8px}.admin-row button{padding:8px;border:1px solid var(--line);background:white;border-radius:7px}.login-card{width:min(420px,92vw);margin:70px auto;background:white;padding:30px;border-radius:18px;box-shadow:0 16px 50px #0002}.login-card label{display:block;margin:14px 0}.login-card input,.cards input,.modal input,.modal select,.modal textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:5px}.hint{font-size:12px;color:var(--muted)}
.private-financial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;padding:14px;border:1px solid #d8c58d;border-radius:12px;background:#fff9e9}.private-financial-summary>span{grid-column:1/-1;font-size:12px;font-weight:900;color:#6f5715}.private-financial-summary div{padding:10px;border-radius:9px;background:#fff}.private-financial-summary small,.private-financial-summary strong{display:block}.private-financial-summary small{color:var(--muted);margin-bottom:5px}.private-value{margin-top:8px!important;padding:8px;border-radius:7px;background:#fff6d9;color:#665018!important;line-height:1.45}
.modal{position:fixed;inset:0;background:#0008;z-index:30;display:grid;place-items:center;padding:20px}.modal.hidden{display:none}.modal-card{background:white;width:min(820px,96vw);max-height:90vh;overflow:auto;border-radius:16px;padding:20px;outline:none}.modal .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal textarea{min-height:110px}.modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
@media(max-width:950px){.topbar{position:static;align-items:flex-start;gap:16px}.brand{flex-wrap:wrap}.brand-logo{width:160px;height:58px}.company-name{font-size:12px}.a3-hero{grid-template-columns:1fr;padding:38px}.a3-hero img{max-width:480px}.venture-card,.villa-hero{grid-template-columns:1fr}.venture-progress{justify-self:center}.villa-tools{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr;padding:30px}.hero h1{font-size:36px}.hero-side{justify-self:stretch;width:100%;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);align-items:stretch}.hero-logo-card,.hero-card{width:100%}.cards.four,.cards.three,.grid-2{grid-template-columns:1fr 1fr}.admin-shell.active{display:block}.sidebar{width:auto;min-height:auto;display:flex;flex-direction:row;overflow:auto}.sidebar .side-title{display:none}.sidebar button{white-space:nowrap}.admin-row{grid-template-columns:1fr 110px}.admin-row>*:nth-child(n+3){display:none}}
@media(max-width:760px){.component-row{grid-template-columns:42px 1fr 80px}.component-row>div:nth-of-type(2),.component-row>div:nth-of-type(3){grid-column:2/4}.component-percent{grid-column:3;text-align:right}.component-edit-row{grid-template-columns:1fr 1fr}.component-edit-row>div{grid-column:1/-1}.work-media-edit-row{grid-template-columns:1fr 105px}.work-media-edit-row label:nth-child(3){grid-column:1/-1}.budget-source,.component-title{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.view{padding:16px}.topbar{align-items:center}.public-nav{width:100%}.public-nav button{flex:1}.company-name{display:none}.a3-hero{min-height:auto;padding:26px}.a3-hero h1{font-size:36px}.venture-card{padding:23px}.venture-card h2{font-size:25px}.villa-hero{padding:27px}.villa-hero h1{font-size:32px}.villa-wordmark.large{font-size:30px}.villa-tools{grid-template-columns:1fr}.hero{padding:24px}.hero h1{font-size:30px}.cards.four,.cards.three,.grid-2{grid-template-columns:1fr}.section-title{align-items:flex-start;flex-direction:column}.lot-toolbar{grid-template-columns:1fr}.lots-grid{grid-template-columns:repeat(2,1fr)}.map-head{align-items:flex-start;flex-direction:column}.map-viewport{height:58vh}.gallery{grid-template-columns:1fr}.modal .form-grid,.work-detail-grid{grid-template-columns:1fr}.work-dates{flex-direction:column}.a3{font-size:28px}}

@media(max-width:950px){.admin-content{padding:16px}.admin-row{grid-template-columns:1fr;align-items:stretch}.admin-row>*:nth-child(n+3){display:block}.admin-row>button,.admin-row>div button{width:100%;min-height:44px}.archive-admin-row>div,.document-actions{display:flex;flex-wrap:wrap}.sidebar{position:sticky;top:0;z-index:12}.sidebar button,.sidebar a{min-height:44px}}

.real-media{width:100%;height:180px;object-fit:cover;background:#111;display:block}
.comm-link{width:100%;color:inherit;text-decoration:none;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:9px;padding:14px 10px;transition:background .18s ease,transform .18s ease}.comm-link:hover,.comm-link:focus-visible{background:#f0f6f1;transform:translateY(-1px);outline:2px solid #6fbf2a;outline-offset:2px}.comm-action{display:inline-block;margin-top:4px;color:var(--green2);font-weight:800;font-size:14px}
.archive-album-link{text-decoration:none;white-space:nowrap}.archive-toolbar{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:22px}.archive-toolbar label{font-size:13px;font-weight:700}.archive-toolbar select{display:block;min-width:170px;margin-top:5px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.archive-toolbar>span{margin-left:auto;color:var(--muted);font-weight:700}.archive-month{display:grid;grid-template-columns:150px 1fr;gap:18px;margin:0 0 28px}.archive-month-head{display:flex;gap:10px;align-items:flex-start}.archive-month-head>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--green2);color:#fff;font-weight:900}.archive-month-head h2{text-transform:capitalize;margin:0}.archive-month-head p{margin:4px 0;color:var(--muted);font-size:13px}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.archive-card{display:flex;gap:13px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.archive-card:hover,.archive-card:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px #082f2718;outline:2px solid var(--lime);outline-offset:2px}.archive-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:12px;background:#e8f1e9;color:var(--green2);font-size:20px}.archive-type{font-size:12px;color:var(--green2);font-weight:800;text-transform:uppercase}.archive-card h3{font-size:16px;margin:4px 0}.archive-card p{font-size:13px;color:var(--muted);margin:3px 0 8px}.archive-card strong{font-size:13px;color:var(--green2)}.archive-source{display:flex;align-items:center;justify-content:space-between;gap:14px}.archive-source p{margin-bottom:0}.archive-source a{text-decoration:none}.archive-admin-row>div{display:flex;gap:6px}.archive-admin-row button.danger{color:#a11;border-color:#d9aaaa}
.lot-calculation{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.lot-calculation>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f6f8f6}.lot-calculation small,.lot-calculation strong{display:block}.lot-calculation small{color:var(--muted);margin-bottom:5px}.lot-calculation strong{font-size:18px;color:var(--green2)}
.document-toolbar{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:14px}.document-toolbar label{flex:1;font-size:13px;font-weight:700}.document-toolbar input,.document-toolbar select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-top:5px}.document-toolbar>select{max-width:240px}.document-toolbar>span{color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.document-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:9px;align-items:center}.document-card>div:first-child{display:flex;align-items:center;gap:12px}.document-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e8f1e9;color:var(--green2);font-size:20px}.document-card>a{text-decoration:none}.document-actions{display:flex;gap:7px;align-items:center}.document-actions a,.document-actions button{border:1px solid var(--line);border-radius:7px;padding:7px 9px;background:#fff;color:var(--green2);text-decoration:none}.document-actions .danger{color:#a11;border-color:#d9aaaa}.document-unavailable{font-size:13px;color:var(--muted)}.form-divider{display:flex;align-items:center;gap:10px;color:var(--muted);margin:12px 0}.form-divider:before,.form-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.client-view{max-width:1180px;margin:0 auto}.client-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:18px}.client-main-card{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center;padding:30px;background:linear-gradient(135deg,#fff,#f4f8f5)}.bank-mark{display:grid;place-items:center;width:104px;height:104px;border-radius:24px;background:#ffed00;color:#17468f;font-size:38px;font-weight:900;letter-spacing:-.08em}.client-kicker{font-size:12px;font-weight:900;letter-spacing:.13em;color:#17468f;margin:0}.client-main-card h2{font-size:28px;margin:6px 0 10px}.client-main-card p{line-height:1.6}.client-action{display:inline-block;margin-top:10px;text-decoration:none}.safe-link{display:block;margin-top:12px;color:var(--muted)}.client-help h2{margin-top:0}.client-help ol{padding-left:22px;line-height:1.7}.client-help li{margin-bottom:8px}.security-note{margin-top:18px;padding:15px;border-radius:11px;background:#fff8dc;border:1px solid #ead58b}.security-note strong{color:#795d00}.security-note p{margin:7px 0 0;line-height:1.5}.client-footnote{margin-top:15px}
@media(max-width:700px){.client-grid{grid-template-columns:1fr}.client-main-card{grid-template-columns:1fr;padding:22px}.bank-mark{width:82px;height:82px;border-radius:19px}.client-main-card h2{font-size:24px}.client-action{display:block;text-align:center}}
@media(max-width:700px){.private-financial-summary,.work-archive-results{grid-template-columns:1fr}}
@media(max-width:560px){.brand{width:100%;justify-content:center}.brand-logo{width:155px;height:56px}.divider{height:40px;margin:0 3px}.villa{font-size:15px}.brand-intro{min-height:190px;padding:18px}.hero-side{grid-template-columns:1fr}.hero-card{max-width:310px;margin:auto}}
.media-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.media-actions button{padding:7px 9px;border:1px solid var(--line);background:white;border-radius:7px}
.diary-with-media{display:block}.diary-copy{width:100%}.diary-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:14px}.diary-media img,.diary-media video{display:block;width:100%;height:190px;object-fit:cover;background:#111;border-radius:10px}.diary-media.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.diary-media.compact img,.diary-media.compact video{height:130px}.attachment-list{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px}.attachment-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.attachment-row:last-child{border-bottom:0}.attachment-row button{border:1px solid #d8a3a3;background:#fff;color:#9b2020;border-radius:7px;padding:6px 9px}
@media(max-width:620px){.diary-media,.diary-media.compact{grid-template-columns:1fr}.diary-media img,.diary-media video,.diary-media.compact img,.diary-media.compact video{height:auto;max-height:320px}}
@media(max-width:700px){.archive-toolbar,.document-toolbar{align-items:stretch;flex-direction:column}.archive-toolbar label,.archive-toolbar select,.document-toolbar label,.document-toolbar>select{width:100%;max-width:none}.archive-toolbar>span{margin-left:0}.archive-month{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr}.archive-source{align-items:flex-start;flex-direction:column}.lot-calculation{grid-template-columns:1fr}.document-card{align-items:flex-start;flex-direction:column}.document-actions{width:100%;flex-wrap:wrap}}

/* Fluxo simplificado de mídias e mapa de disponibilidade */
.dot.available{background:#fff;border:1px solid #52615a}.dot.reserved{background:#f4c430}.dot.sold{background:#d93434}.dot.blocked,.dot.pending{background:#1769d2}

/* Identidade A3 — direção editorial em azul-marinho, branco e laranja */
:root{--a3-navy:#071b33;--a3-blue:#123b66;--a3-orange:#f28a22;--a3-soft:#eef4f8}
.topbar{background:var(--a3-navy);padding:12px clamp(18px,4vw,54px);box-shadow:0 4px 18px #071b3326}
.brand-logo{width:224px;height:74px;background:#fff;border-radius:10px;padding:4px}
.company-name{color:#fff}.company-name small{color:#a9c8df}
.public-nav .client-nav{background:var(--a3-orange);color:var(--a3-navy)}
.public-nav .client-nav:hover{background:#ffa143}
#public-home{background:#fff;padding:clamp(18px,3vw,42px)}
.a3-hero{max-width:1320px;min-height:500px;margin:0 auto;padding:clamp(38px,6vw,82px);background:var(--a3-soft);color:var(--a3-navy);border:1px solid #dce8f0;box-shadow:0 24px 70px #071b3312}
.a3-hero .eyebrow,.a3-contact .eyebrow{color:var(--a3-orange)}
.a3-hero h1{font-size:clamp(42px,5.5vw,72px);letter-spacing:-.035em;max-width:820px}
.a3-hero img{max-width:500px;background:#fff;box-shadow:0 22px 60px #071b3320}
.home-cta{margin-top:20px;border:0;border-radius:10px;padding:14px 20px;background:var(--a3-orange);color:var(--a3-navy);font-weight:900;font-size:16px}
.home-cta:hover,.home-cta:focus-visible{background:#ffa143;outline:3px solid #f28a2245}
.ventures-section{max-width:1320px}.ventures-section .section-title h2{color:var(--a3-navy)}
.venture-card{background:#fff;border-color:#dce5eb;box-shadow:0 16px 48px #071b330c}
.a3-contact{max-width:1320px;margin:70px auto 30px;padding:clamp(26px,4vw,48px);display:grid;grid-template-columns:1fr minmax(320px,.8fr);gap:40px;align-items:center;background:var(--a3-navy);color:#fff;border-radius:24px}
.a3-contact h2{margin:6px 0 12px;font-size:clamp(28px,4vw,42px)}
.a3-contact p{line-height:1.6}.contact-card{display:flex;flex-direction:column;gap:9px;padding:24px;background:#fff;color:var(--a3-navy);border-radius:16px;font-style:normal}
.contact-card strong{font-size:18px}.contact-card a,.site-footer a{color:#d66300;font-weight:800;overflow-wrap:anywhere}
.site-footer{display:flex;align-items:center;justify-content:center;gap:26px;padding:28px clamp(18px,4vw,54px);background:#061629;color:#dce8f0}
.site-footer img{width:155px;height:56px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}
.site-footer div{display:flex;flex-direction:column;gap:5px;line-height:1.45}.site-footer a{color:#ffad63}
@media(max-width:950px){.brand-logo{width:190px;height:66px}.a3-hero{min-height:auto}.a3-contact{grid-template-columns:1fr}}
@media(max-width:620px){.topbar{padding:12px 16px}.brand-logo{width:178px;height:62px}.a3-hero{padding:30px 24px}.a3-hero h1{font-size:38px}.a3-hero img{margin-top:6px}.home-cta{width:100%}.a3-contact{margin-top:42px;padding:25px 20px}.contact-card{padding:19px}.site-footer{align-items:flex-start;flex-direction:column}.site-footer img{width:145px}}

/* Marca A3 integrada ao cabeçalho */
.brand-home{appearance:none;border:0;background:transparent;color:inherit;padding:0;text-align:left;min-height:72px;border-radius:10px}
.brand-home:hover .brand-logo{box-shadow:0 0 0 3px #f28a2238}
.brand-home:focus-visible{outline:3px solid var(--a3-orange);outline-offset:5px}
.brand-home .brand-logo{width:clamp(220px,19vw,280px);height:82px;object-fit:cover;object-position:center 49%;padding:0;border:0;border-radius:8px;background:#eaf2f7;box-shadow:none;transition:box-shadow .18s ease}
@media(max-width:950px){.brand-home .brand-logo{width:230px;height:76px}}
@media(max-width:620px){.brand-home{width:auto;justify-content:flex-start}.brand-home .brand-logo{width:200px;height:68px}.brand-home .company-name{display:none}}
@media(max-width:420px){.topbar{align-items:stretch}.brand-home{align-self:center}.brand-home .brand-logo{width:190px;height:64px}}

/* Villa Bella público — liberdade, conquista e sonhos */
:root{--vb-deep:#073b55;--vb-blue:#0f6380;--vb-sky:#e7f6fc;--vb-emerald:#1f846f;--vb-gold:#d7a43a;--vb-ink:#102f3d;--vb-line:#cfe3ea}
#villa-home,#public-obras,#public-lotes,#public-galeria,#public-acervo,#public-docs,#public-cliente{max-width:1380px;margin:0 auto;background:linear-gradient(180deg,#f9fdff 0%,#eef8fb 100%);color:var(--vb-ink)}
#villa-home{padding-bottom:42px}
.villa-hero{position:relative;min-height:370px;background:radial-gradient(circle at 86% 12%,#79cde080 0 14%,transparent 35%),linear-gradient(125deg,var(--vb-deep),var(--vb-blue) 68%,#55abc1);border:1px solid #ffffff38;box-shadow:0 24px 60px #073b5524;overflow:hidden}
.villa-hero:after{content:"";position:absolute;right:-65px;bottom:-115px;width:360px;height:230px;border:2px solid #ffffff2e;border-radius:50%;pointer-events:none}
.villa-hero>div{position:relative;z-index:1}
.villa-hero .eyebrow{color:#f2cb72}.villa-wordmark.large{color:#fff7df;font-size:clamp(34px,4vw,48px);letter-spacing:.16em;text-shadow:0 2px 18px #0018}.villa-wordmark.large small{color:#dff5ed}
.villa-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,58px);font-weight:500;line-height:1.08;letter-spacing:-.025em;max-width:760px}
.villa-hero>div>p:last-child{max-width:720px;font-size:18px}
.overall-card{border:1px solid #ffffff80;box-shadow:0 18px 44px #052c4026}.overall-card .progress-ring{background:conic-gradient(var(--vb-gold) var(--overall,0%),#dfe9e8 0)}
.villa-tools{gap:17px;margin:28px 0}
.villa-tools button{min-height:104px;border-color:var(--vb-line);border-radius:18px;box-shadow:0 12px 30px #073b550c;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.villa-tools button:hover,.villa-tools button:focus-visible{transform:translateY(-4px);border-color:#69b8ca;box-shadow:0 18px 38px #073b551b;outline:3px solid #78c9d73f}
.tool-icon{background:#ddf3f5;color:var(--vb-deep);border:1px solid #b9dfe6}
#villa-home .cards article,#villa-home .panel,#public-obras .panel,#public-lotes .panel,#public-galeria .gallery-card,#public-cliente .panel{border-color:var(--vb-line);box-shadow:0 10px 28px #073b550b}
#villa-home .metric,.big-progress span,.work-percent,.component-code,.comm-action{color:var(--vb-emerald)}
#villa-home .section-title h1,#public-obras h1,#public-lotes h1,#public-galeria h1,#public-acervo h1,#public-docs h1,#public-cliente h1{font-family:Georgia,"Times New Roman",serif;color:var(--vb-deep);font-weight:600;letter-spacing:-.02em}
#villa-home .eyebrow,#public-obras .eyebrow,#public-lotes .eyebrow,#public-galeria .eyebrow,#public-acervo .eyebrow,#public-docs .eyebrow,#public-cliente .eyebrow{color:#a87514}
#public-obras,#public-lotes,#public-galeria,#public-acervo,#public-docs,#public-cliente{padding-top:34px;padding-bottom:54px;border-radius:24px}
#public-obras .back-a3,#public-lotes .back-a3,#public-galeria .back-a3,#public-acervo .back-a3,#public-docs .back-a3,#public-cliente .back-a3,.villa-view .back-a3{color:var(--vb-blue)}
.work-card,.map-panel,.lot-toolbar,.archive-toolbar,.archive-card,.document-toolbar,.document-card{border-color:var(--vb-line);box-shadow:0 9px 26px #073b550b}
.work-card:hover,.work-card:focus-visible,.archive-card:hover,.archive-card:focus-visible{border-color:#68b6c7;outline-color:#68b6c755}
.work-progress i,.bar i{background:linear-gradient(90deg,var(--vb-blue),var(--vb-emerald))}
.budget-source{background:#fffaf0;border-color:#e7cf98;color:#5b4619}
.primary{background:var(--vb-emerald);border-color:var(--vb-emerald)}
.secondary{color:var(--vb-deep);border-color:var(--vb-blue)}
@media(max-width:620px){.villa-hero{padding:30px 24px;min-height:auto}.villa-hero h1{font-size:37px}.villa-hero>div>p:last-child{font-size:16px}.villa-tools button{min-height:92px}#public-obras,#public-lotes,#public-galeria,#public-acervo,#public-docs,#public-cliente{padding-top:24px;border-radius:18px}}

/* Villa Bella — transparência sobre chuvas e cronograma */
.weather-update{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:28px;margin:30px 0;padding:30px;border:1px solid #b9dce5;border-radius:24px;background:linear-gradient(135deg,#f8fdff 0%,#e7f6fa 100%);box-shadow:0 18px 46px #073b5514;overflow:hidden}
.weather-update-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.weather-update-heading h2{max-width:700px;margin:4px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,40px);line-height:1.12;color:var(--vb-deep)}.weather-update-heading time{flex:0 0 auto;padding:8px 12px;border:1px solid #b7d5dd;border-radius:999px;background:#fff;color:#315a68;font-size:13px;font-weight:700}.weather-update-copy>p{font-size:16px;line-height:1.7;color:#274c59}
.rainfall-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.rainfall-summary article{display:flex;flex-direction:column;gap:5px;min-height:138px;padding:18px;border:1px solid #c4e0e7;border-radius:16px;background:#fff}.rainfall-summary strong{font-size:30px;line-height:1;color:var(--vb-blue)}.rainfall-summary span{font-size:14px;font-weight:750;line-height:1.35;color:var(--vb-ink)}.rainfall-summary small{font-size:12px;line-height:1.4;color:#55717b}
.weather-method{padding-left:14px;border-left:3px solid var(--vb-gold);font-size:13px!important;color:#55717b!important}.weather-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}.weather-actions a{color:var(--vb-blue);font-weight:750;text-decoration:underline;text-underline-offset:3px}.weather-actions .primary{min-height:44px}
.weather-photo-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;min-height:420px}.weather-photo{position:relative;min-width:0;margin:0;border-radius:18px;background:#d7e7e9;overflow:hidden}.weather-photo img{display:block;width:100%;height:100%;object-fit:cover}.weather-photo-wide img{object-position:center}.weather-photo-tall img{object-position:center 55%}.weather-photo figcaption{position:absolute;right:0;bottom:0;left:0;padding:34px 14px 13px;background:linear-gradient(transparent,#052f3ed9);color:#fff;font-size:13px;font-weight:700;line-height:1.35}
@media(max-width:1050px){.weather-update{grid-template-columns:1fr}.weather-photo-grid{min-height:380px}}
@media(max-width:720px){.weather-update{gap:22px;margin:24px 0;padding:20px;border-radius:19px}.weather-update-heading{display:block}.weather-update-heading time{display:inline-block;margin-top:12px}.rainfall-summary{grid-template-columns:1fr}.rainfall-summary article{min-height:0}.weather-photo-grid{grid-template-columns:1fr;min-height:0}.weather-photo{aspect-ratio:4/3}.weather-photo-tall{aspect-ratio:3/4}.weather-actions{align-items:stretch;flex-direction:column}.weather-actions>*{width:100%;text-align:center}}
.lot.available{border-color:#7b8a82;background:#fff}.lot.reserved{border-color:#bd8b00;background:#fff4bd}.lot.sold{border-color:#b51f1f;background:#ffe0e0}.lot.blocked,.lot.pending{border-color:#1769d2;background:#dcecff}
.availability-map-head{margin:22px 0 12px}.availability-map-head h3{margin:0 0 5px}.availability-map-head p{margin:0;color:var(--muted)}
.availability-map{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;padding:16px;border-radius:14px;background:#eef3ef}
.map-block{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}.map-block h4{margin:0 0 10px;color:var(--green2)}
.map-block-lots{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.status-map-lot{min-width:0;min-height:34px;padding:5px 2px;border:1px solid #66756e;border-radius:6px;background:#fff;color:#13241c;font-size:11px;font-weight:800;cursor:pointer}
.status-map-lot.available{background:#fff}.status-map-lot.reserved{background:#f4c430;border-color:#9e7400}.status-map-lot.sold{background:#d93434;border-color:#9d1616;color:#fff}.status-map-lot.blocked,.status-map-lot.pending{background:#1769d2;border-color:#0d4f9f;color:#fff}.status-map-lot:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.media-source-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.media-source-actions button{padding:13px 10px;border:1px solid var(--green2);border-radius:10px;background:#fff;color:var(--green2);font-weight:800}.media-source-actions button:hover,.media-source-actions button:focus-visible{background:#eaf5e5;outline:2px solid var(--lime)}
.media-selected-name{min-height:22px;margin:8px 0;color:var(--green2);font-weight:800}.media-preview{display:grid;place-items:center;min-height:210px;margin:12px 0;border:2px dashed #b9c8bd;border-radius:13px;background:#f4f7f4;overflow:hidden;color:var(--muted)}.media-preview img,.media-preview video{display:block;width:100%;max-height:420px;object-fit:contain;background:#111}.media-preview video{min-height:210px}.media-form-note{padding:11px 13px;border-radius:9px;background:#edf6e8;color:#244d2e}.draft-badge,.published-badge{display:inline-block;margin-bottom:7px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900}.draft-badge{background:#fff1bd;color:#765900}.published-badge{background:#dff2df;color:#176323}.media-card-description{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.media-actions .edit-media{color:var(--green2);font-weight:800}.work-media-card>video{display:block;width:100%;height:180px;object-fit:contain;border-radius:8px;background:#111}
.work-media-shortcut{margin-bottom:18px;padding:16px;border:1px solid #b8d2b8;border-radius:13px;background:#edf6e8}.work-media-shortcut strong,.work-media-shortcut small{display:block}.work-media-shortcut small{margin:5px 0 12px;color:var(--muted);line-height:1.45}.work-media-shortcut button{width:100%;min-height:48px}
.login-link{display:block;text-align:center;text-decoration:none}.sidebar a{display:block;border:0;background:transparent;color:white;text-align:left;padding:11px 12px;border-radius:8px;text-decoration:none;white-space:nowrap}.sidebar a:hover,.sidebar a:focus-visible{background:#ffffff14;outline:2px solid var(--lime)}
@media(max-width:900px){.availability-map{grid-template-columns:repeat(2,minmax(200px,1fr))}}
@media(max-width:620px){.availability-map{grid-template-columns:1fr;padding:10px}.map-block-lots{grid-template-columns:repeat(5,1fr)}.media-source-actions{grid-template-columns:1fr}.media-preview{min-height:170px}}
