/* Sousa Andrade Urbanismo — shared with both standalone simulators. */
:root{--sa-navy:#102440;--sa-navy-deep:#0b1b32;--sa-red:#df0037;--sa-red-hover:#bd002f;--sa-ink:#1b2940;--sa-muted:#5c6a7c;--sa-line:#dce2eb;--sa-pale:#edf2f8;--sa-surface:#f6f8fb;--sa-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{font-family:var(--sa-font);color:var(--sa-ink);background:var(--sa-surface)}
body .sa-brand-logo{display:block;width:210px;max-width:100%;height:auto;object-fit:contain;flex:none}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #627eaa;outline-offset:3px}
body :is(button,a){-webkit-tap-highlight-color:transparent}
/* White masthead and restrained institutional surfaces. */
body .central{--c-navy:var(--sa-navy);--c-gold:var(--sa-red);--c-muted:var(--sa-muted);background:#fff;color:var(--sa-ink)}
body .c-header{height:104px;max-width:1184px;border-bottom:1px solid var(--sa-line);gap:20px;background:#fff}
body .c-brand{gap:0;letter-spacing:normal}
body .c-admin{border:1px solid var(--sa-line);border-radius:8px;padding:10px 13px;color:var(--sa-navy)!important;letter-spacing:0}
body .c-admin:hover{background:var(--sa-pale)}
body .c-main{padding-top:40px}
body .c-main:has(.c-intro){max-width:1120px}
body .c-intro{padding:0 0 24px}
body .c-intro h1{margin-top:8px;font-weight:600}
body .c-intro h1 span{color:var(--sa-muted)}
body .c-eyebrow{color:var(--sa-muted);font-weight:650;letter-spacing:.14em}
body .c-intro>.c-eyebrow:before{content:"";display:inline-block;width:22px;height:3px;background:var(--sa-red);vertical-align:middle;margin-right:10px}
body .c-search{max-width:760px;height:56px;border-radius:9px;box-shadow:none;background:var(--sa-surface)}
body .c-search input{font-size:16px}
body .c-section-label{margin-bottom:16px;gap:16px}
body .c-section-label h2{font-size:20px;font-weight:600;letter-spacing:-.3px;color:var(--sa-navy);margin:0}
body .c-section-label>span{font-size:13px}
body .c-tools-section,body .c-products-section{margin-top:32px}
body .c-tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body .c-tools-grid .c-nav-row{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:flex-start;gap:14px!important;border:1px solid var(--sa-line);border-radius:10px;padding:19px!important;background:var(--sa-surface);min-width:0;transition:background-color .15s,border-color .15s}
body .c-tools-grid .c-nav-row:hover{background:var(--sa-pale);border-color:#9aaec9}
body .c-tools-grid .c-nav-icon{width:30px;height:30px;background:transparent;border-radius:0;color:var(--sa-red)}
body .c-tools-grid .c-nav-copy strong{font-size:15px;font-weight:650;line-height:1.35}
body .c-tools-grid .c-nav-copy small{font-size:13px;line-height:1.5;margin-top:7px;color:var(--sa-muted)}
body .c-products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
body .c-product-tile{display:block;overflow:hidden;border:1px solid var(--sa-line);border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
body .c-product-tile:hover{border-color:#9aaec9;box-shadow:0 8px 24px #1024400c}
body .c-product-tile-image{aspect-ratio:16/9;overflow:hidden;background:var(--sa-pale);display:grid;place-items:center}
body .c-product-tile-image img{width:100%;height:100%;object-fit:cover;display:block}
body .c-product-tile-image>svg{width:38px;height:38px;color:#8c9caf}
body .c-product-tile-body{padding:20px 22px;display:block}
body .c-product-tile-body strong{display:block;color:var(--sa-navy);font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.4px}
body .c-product-tile-body small{display:block;margin-top:9px;color:var(--sa-muted);font-size:14px;line-height:1.5}
body .c-product-tile-link{display:inline-block;margin-top:16px;color:var(--sa-red);font-size:14px;font-weight:650}
body .c-contact-section{margin-top:30px;border-top:1px solid var(--sa-line);border-bottom:1px solid var(--sa-line)}
body .c-contact-section .c-nav-row{padding-left:0!important;padding-right:0!important}
body .c-feature-section{margin-top:30px}
body .c-campaign{border-radius:10px;border-left-color:var(--sa-red);box-shadow:none}
body .c-button{border-radius:8px;background:var(--sa-navy);border-color:var(--sa-navy);font-weight:600}
body .c-button:hover{background:var(--sa-navy-deep)}
body .c-button.c-secondary{background:#fff;color:var(--sa-navy);border-color:#c9d3e1}
body .c-button.c-secondary:hover{background:var(--sa-pale)}
body .c-action-card{border-radius:12px;background:var(--sa-surface);border-color:var(--sa-line);box-shadow:none}
body .c-action-card .c-button:first-of-type{background:var(--sa-red);border-color:var(--sa-red);color:#fff}
body .c-action-card .c-button:first-of-type:hover{background:var(--sa-red-hover)}
body .c-cover,body .c-gallery img{border-radius:10px}
body .c-content{border-color:var(--sa-line)}
body .c-material,body .p-client-material{border-radius:8px;border-color:var(--sa-line)}
body .c-material:hover,body .p-client-material:hover{background:var(--sa-surface)}
body .c-footer{max-width:1120px;color:var(--sa-muted)}
/* Presentation workspace and customer-facing presentation. */
body .p-work{background:var(--sa-surface);border-radius:12px;margin-top:24px}
body .p-card{border-color:var(--sa-line);border-radius:12px;box-shadow:none}
body .p-card .p-simulate-button{background:var(--sa-red);color:#fff;border-color:var(--sa-red);border-radius:8px;box-shadow:none}
body .p-card .p-simulate-button:hover{background:var(--sa-red-hover)}
body .p-client-header{background:#fff;display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:auto;padding:20px 24px;letter-spacing:0}
body .p-client-header>span{color:var(--sa-muted);font-size:13px}
body .p-client-header .sa-brand-logo{width:185px}
body .p-client-main h1{font-family:var(--sa-font);font-weight:500;letter-spacing:-1.4px}
body .p-quote .p-quote-heading{background:var(--sa-navy)}
body .p-quote .c-eyebrow{color:#dce7f7}
body .p-flow .p-grace{background:var(--sa-pale);color:var(--sa-navy);border-left:3px solid var(--sa-red)}
body .p-quote{border-radius:12px;box-shadow:none}
body .p-payments>div{background:var(--sa-surface)}
/* Administration and coordinator access retain their current role rules. */
body .admin-sidebar{background:var(--sa-navy);padding-top:18px}
body .admin-brand{padding:12px 10px 20px;letter-spacing:0}
body .admin-brand .sa-brand-logo{width:100%;background:white;border-radius:5px;padding:9px}
body .admin-brand small{color:#d4deed;font-size:11px;letter-spacing:.12em;margin-top:14px}
body .admin-nav-group>a[aria-current=page]{background:#fff;color:var(--sa-navy);box-shadow:inset 3px 0 var(--sa-red)}
body .admin-page-header{border-bottom-color:var(--sa-line)}
body .admin :is(.panel,.stat){border-color:var(--sa-line);box-shadow:none;border-radius:10px}
body .admin .btn.primary{background:var(--sa-navy);border-color:var(--sa-navy)}
body .admin .tabs button.active{background:var(--sa-navy);border-color:var(--sa-navy)}
body .dash-key-stats .stat:first-child{background:var(--sa-navy);border-top-color:var(--sa-red)}
body .dash-track i,body .bar-track i{background:#59749b}
body .dash-goal .dash-track i{background:var(--sa-red)}
body .login-shell{background:var(--sa-surface)}
body .login-card{border-radius:12px;box-shadow:0 12px 40px #1024400a}
body .login-card>.sa-brand-logo{width:220px;margin-bottom:28px}
body .cf-summary{background:var(--sa-navy)}
body .cf-summary .cf-entry-total strong,body .cf-payment-list article>span{color:#dbe8ff}
body .cf-actions .btn.primary{background:var(--sa-red)!important;color:#fff!important;border-color:var(--sa-red)}
body .cf-print-brand{display:none}
/* Map artwork and the green availability markers are retained. */
body .lot-map{font-family:var(--sa-font)}
body .lot-map-header{background:#fff;color:var(--sa-navy);border-bottom:1px solid var(--sa-line);padding:12px 24px}
body .lot-map-heading{display:flex;align-items:center;gap:24px}
body .lot-map-heading .sa-brand-logo{width:145px}
body .lot-map-header span{color:var(--sa-muted);letter-spacing:.1em}
body .lot-map-header h1{font-size:19px;font-weight:600}
body .lot-map-header a,body .lot-map-header button{color:var(--sa-navy);border-color:#c9d3e1;background:#fff}
body .lot-map-card{background:var(--sa-navy)}
body .lot-map-simulate{background:var(--sa-red);color:#fff}
body .lot-map-embedded .lot-map-heading>.sa-brand-logo{display:none}
/* The simulator's sizes and financial layout stay compact. */
body.sa-simulator{--navy:var(--sa-navy);--navy2:#263e61;--gold:var(--sa-red);--ink:var(--sa-ink);--muted:var(--sa-muted);--line:var(--sa-line);--bg:var(--sa-surface)}
body.sa-simulator>header{background:#fff;color:var(--sa-navy);box-shadow:none;border-bottom:1px solid var(--sa-line);height:78px}
body.sa-simulator .brand{gap:24px;font-weight:600}
body.sa-simulator .brand .sa-brand-logo{width:164px}
body.sa-simulator .brand>span{border-left:1px solid var(--sa-line);padding-left:24px;font-size:15px}
body.sa-simulator .stage{color:var(--sa-muted);font-size:13px}
body.sa-simulator .result{background:var(--sa-navy);border-radius:12px;box-shadow:none}
body.sa-simulator .card{border-radius:12px;box-shadow:none}
body.sa-simulator .action{background:#fff;color:var(--sa-navy);font-weight:650;border-radius:8px}
body.sa-simulator .action.whatsapp{background:#167455;color:#fff}
body.sa-simulator .action.visit{background:#e9eff8;color:var(--sa-navy)}
body.sa-simulator .action.presentation-primary{background:var(--sa-red);color:#fff;border-color:var(--sa-red);box-shadow:none}
body.sa-simulator .action.presentation-primary:hover{background:var(--sa-red-hover)}
body.sa-simulator .summary-identity>b{background:#e6edf9;color:var(--sa-navy)}
body.sa-simulator .compact-grace{background:#e6edf9;color:var(--sa-navy);border-left:3px solid var(--sa-red)}
body.sa-simulator :is(.builder-pause,.payment-timeline .pause){background:#edf2f9;color:var(--sa-navy);border-color:#7c93b4}
body.sa-simulator .rule:not(.warning){background:#edf2f8;border-color:#8ca1be}
body.sa-simulator #exactSignal{border-color:#849dbf}
body.sa-simulator .sa-print-brand{display:none}
body .c-simulator{background:var(--sa-navy)}
body .c-simulator nav{font-family:var(--sa-font);font-size:13px}
@media(max-width:900px){body .c-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 body .c-header{height:86px;padding:0 20px}body .c-header .sa-brand-logo{width:177px}body .c-admin{padding:10px}
 body .c-main{padding-top:28px}body .c-main:has(.c-intro){padding-top:26px}
 body .c-intro{padding-bottom:20px}body .c-intro h1{font-size:34px;line-height:1.14}
 body .c-tools-section,body .c-products-section{margin-top:26px}body .c-section-label{align-items:flex-start;flex-direction:column;gap:5px}
 body .c-section-label h2{font-size:19px}body .c-tools-grid{gap:10px}body .c-tools-grid .c-nav-row{padding:16px!important;gap:10px!important}
 body .c-tools-grid .c-nav-copy small{font-size:12px}body .c-tools-grid .c-nav-copy strong{font-size:14px}
 body .c-products-grid{gap:16px;grid-template-columns:1fr}body .c-product-tile-body{padding:18px 20px}
 body .p-client-header .sa-brand-logo{width:162px}body .p-client-header>span{font-size:12px;max-width:105px;text-align:right}
 body .p-work{margin-top:0;border-radius:0}body .lot-map-header{padding:10px 14px;gap:10px}
 body .lot-map-heading{gap:12px}body .lot-map-heading>.sa-brand-logo{display:none}body .lot-map-header h1{font-size:17px}
 body .lot-map-header a,body .lot-map-header button{font-size:12px;max-width:145px;padding:8px}
 body.sa-simulator>header{height:70px;padding:0 17px}body.sa-simulator .brand{gap:14px}body.sa-simulator .brand .sa-brand-logo{width:148px}
 body.sa-simulator .brand>span{padding-left:14px;font-size:13px}body.sa-simulator .stage{display:none}
}
@media(prefers-reduced-motion:reduce){body .c-product-tile,body .c-tools-grid .c-nav-row{transition:none}}
@media print{
 body.sa-simulator .result{background:#fff!important;color:var(--sa-navy)!important;box-shadow:none}
 body.sa-simulator .sa-print-brand,body .cf-print-brand{display:block;width:135px;height:auto;margin-bottom:4mm}
 body.sa-simulator .result .summary-identity>b{background:#edf2f9;border-color:#7c93b4;color:var(--sa-navy)}
 body.sa-simulator .result .print-builder-timeline .payment-timeline .pause{background:#edf2f9;border-color:#7c93b4;color:var(--sa-navy);print-color-adjust:exact}
 body .cf-summary{background:#fff!important;color:var(--sa-navy)!important}
 body .cf-summary .cf-entry-total strong,body .cf-payment-list article>span{color:var(--sa-navy)!important}
 body .p-client-header{padding:0 0 6mm}body .p-client-header .sa-brand-logo{width:150px}body .p-floating{display:none!important}
}
