/* ============================================================
   CCG Centihub  Global Stylesheet (doleta.cash design system)
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Maven+Pro:wght@400;500;600;700&display=swap");

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
/* overflow-x on html (not body) — prevents horizontal scroll WITHOUT breaking position:fixed */
html{scroll-behavior:smooth;overflow-x:hidden;}
img{max-width:100%;height:auto;}
ul,ol{list-style:none;}
a{text-decoration:none;transition:color .25s;}
button{cursor:pointer;border:none;background:none;}

body{
    font-family:"Open Sans",sans-serif;
    line-height:1.7;
    color:#464646;
    background-color:#F5F7FA;
    /* DO NOT add overflow-x:hidden here — it breaks position:fixed in Chrome/Safari */
}

/* ---- CSS Variables ---- */
:root{
    --base:#4582ff;
    --base-dark:#2c71ff;
    --navy:#002046;
    --success:#28c76f;
    --danger:#ea5455;
    --warning:#ff9f43;
    --muted:#868e96;
    --bg-light:#F5F7FA;
    --border:#e5e5e5;
    --shadow:0 3px 12px rgba(0,0,0,.08);
    --shadow-lg:0 8px 32px rgba(0,0,0,.14);
    --radius:8px;
    --transition:all .3s ease;
}

/* ---- Typography ---- */
h1,h2,h3,h4,h5,h6{font-family:"Maven Pro",sans-serif;line-height:1.3;color:#10163A;}
.section-title{font-size:clamp(1.8rem,4vw,2.8rem);}
.section-subtitle{
    font-family:"Maven Pro",sans-serif;
    font-size:.875rem;font-weight:600;
    color:var(--base);
    letter-spacing:.05em;text-transform:uppercase;
    padding-left:1.25rem;border-left:3px solid var(--base);
    display:inline-block;margin-bottom:.75rem;
}

/* ---- Layout ---- */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.row{display:flex;flex-wrap:wrap;margin:0 -.75rem;}
[class*="col-"]{padding:0 .75rem;}
.col-12{width:100%;}.col-6{width:50%;}.col-4{width:33.333%;}.col-3{width:25%;}
.gy-4>*{margin-bottom:1.5rem;}

/* ---- Utilities ---- */
.text-center{text-align:center;}.text-muted{color:var(--muted);}.text-white{color:#fff;}
.text-base{color:var(--base);}.text-success{color:var(--success);}.text-danger{color:var(--danger);}
.fw-bold{font-weight:700;}.small,.text-sm{font-size:.875rem;}
.mt-1{margin-top:.25rem;}.mt-2{margin-top:.5rem;}.mt-3{margin-top:1rem;}
.mt-4{margin-top:1.5rem;}.mt-5{margin-top:3rem;}
.mb-1{margin-bottom:.25rem;}.mb-2{margin-bottom:.5rem;}.mb-3{margin-bottom:1rem;}
.mb-4{margin-bottom:1.5rem;}.mb-5{margin-bottom:3rem;}
.pt-50{padding-top:50px;}.pb-50{padding-bottom:50px;}
.pt-80{padding-top:80px;}.pb-80{padding-bottom:80px;}
.pt-100{padding-top:100px;}.pb-100{padding-bottom:100px;}
.d-flex{display:flex;}.d-none{display:none;}
.align-center{align-items:center;}.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}.flex-wrap{flex-wrap:wrap;}
.gap-2{gap:.5rem;}.gap-3{gap:1rem;}.gap-4{gap:1.5rem;}

/* ---- Buttons ---- */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
    padding:.6rem 1.4rem;border-radius:5px;
    font-family:"Maven Pro",sans-serif;font-weight:600;font-size:.9rem;
    transition:var(--transition);cursor:pointer;border:2px solid transparent;
    line-height:1.4;white-space:nowrap;text-decoration:none;
}
.btn-block{display:flex;width:100%;}
.btn-sm{padding:.3rem .8rem;font-size:.8rem;}
.btn-lg{padding:.85rem 2rem;font-size:1.05rem;}
.btn-primary{background:var(--base);color:#fff;border-color:var(--base);}
.btn-primary:hover{background:var(--base-dark);border-color:var(--base-dark);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px rgba(69,130,255,.35);}
.btn-secondary{background:#e8edf5;color:#464646;border-color:#e8edf5;}
.btn-secondary:hover{background:#dde4f0;color:#464646;border-color:#dde4f0;}
.btn-success{background:var(--success);color:#fff;border-color:var(--success);}
.btn-success:hover{background:#22b564;color:#fff;border-color:#22b564;}
.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);}
.btn-danger:hover{background:#d94445;color:#fff;border-color:#d94445;}
.btn-warning{background:var(--warning);color:#fff;border-color:var(--warning);}
.btn-outline-primary{background:transparent;color:var(--base);border-color:var(--base);}
.btn-outline-primary:hover{background:var(--base);color:#fff;}
.btn-outline-secondary{background:transparent;color:var(--muted);border-color:var(--border);}
.btn-outline-secondary:hover{background:var(--border);color:#464646;}
.btn-dark{background:var(--navy);color:#fff;border-color:var(--navy);}
.btn-dark:hover{background:#00163a;color:#fff;border-color:#00163a;}
.btn-light{background:#fff;color:var(--navy);}
.btn-light:hover{background:#eee;color:var(--navy);}

/* ---- Cards ---- */
.card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;}
.card-header{
    padding:.875rem 1.25rem;border-bottom:1px solid var(--border);
    font-family:"Maven Pro",sans-serif;font-weight:600;
    background:rgba(69,130,255,.04);
    display:flex;align-items:center;justify-content:space-between;
}
.card-body{padding:1.25rem;}
.card-title{font-size:1rem;margin:0;}

/* d-widget */
.d-widget{
    background:#fff;border-radius:var(--radius);
    border-left:4px solid var(--base);
    box-shadow:var(--shadow);transition:var(--transition);
    position:relative;overflow:hidden;
}
.d-widget::before{
    content:'';position:absolute;bottom:0;left:0;width:100%;height:100%;
    background:var(--base);opacity:.04;
    clip-path:polygon(25% 73%,47% 52%,73% 57%,100% 16%,100% 100%,0 100%,0 79%);
    pointer-events:none;
}
.d-widget:hover{box-shadow:var(--shadow-lg);}
.d-widget__header{padding:.875rem 1.25rem;border-bottom:1px solid #eee;font-size:.85rem;color:var(--muted);font-family:"Maven Pro",sans-serif;}
.d-widget__content{padding:1.5rem 1.25rem;}
.d-widget__content i{font-size:2.25rem;color:var(--base);margin-bottom:.75rem;display:block;}
.d-widget__amount{font-size:1.6rem;font-weight:700;font-family:"Maven Pro",sans-serif;color:#10163A;}
.d-widget__label{font-size:.8rem;color:var(--muted);margin-top:.2rem;}
.d-widget__footer{padding:.625rem 1.25rem;border-top:1px solid #eee;font-size:.8rem;}
.d-widget__footer a{color:#464646;display:inline-flex;align-items:center;gap:.3rem;}
.d-widget__footer a:hover{color:var(--base);}

/* ---- Badges ---- */
.badge{display:inline-block;padding:.25rem .7rem;border-radius:20px;font-size:.75rem;font-weight:600;}
.badge-success,.status-badge.ativo,.status-badge.aprovada,.status-badge.aprovado,.status-badge.paga,.status-badge.confirmado,.status-badge.ativa{background:#e8faf1;color:var(--success);}
.badge-warning,.status-badge.em_analise,.status-badge.pendente,.status-badge.documentacao_pendente{background:#fff4e6;color:var(--warning);}
.badge-danger,.status-badge.atrasada,.status-badge.reprovada,.status-badge.reprovado{background:#fef0f0;color:var(--danger);}
.badge-info,.status-badge.enviada{background:#e8f4ff;color:#1e9ff2;}
.badge-secondary,.status-badge.rascunho,.status-badge.cancelada,.status-badge.inativo{background:#f0f0f0;color:#888;}
.badge-primary{background:rgba(69,130,255,.12);color:var(--base);}

/* ---- Tables ---- */
.table-responsive,.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;}
thead th{
    padding:.75rem 1rem;text-align:left;
    font-family:"Maven Pro",sans-serif;font-size:.8rem;text-transform:uppercase;
    letter-spacing:.04em;color:var(--muted);background:var(--bg-light);
    border-bottom:1px solid var(--border);white-space:nowrap;
}
tbody td{padding:.75rem 1rem;border-bottom:1px solid #f5f5f5;font-size:.875rem;}
tbody tr:last-child td{border-bottom:none;}
tbody tr:hover{background:#fafbff;}
.row-danger td{background:#fff5f5;}
/* Bootstrap table compat */
.table{width:100%;border-collapse:collapse;}
.table th{padding:.75rem 1rem;background:var(--bg-light);color:var(--muted);font-family:"Maven Pro",sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);}
.table td{padding:.75rem 1rem;border-bottom:1px solid #f5f5f5;font-size:.875rem;vertical-align:middle;}
.table-hover tbody tr:hover{background:#fafbff;}

/* ---- Forms ---- */
.form-group{margin-bottom:1rem;}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:#464646;margin-bottom:.35rem;font-family:"Maven Pro",sans-serif;}
.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],select,textarea{
    display:block;width:100%;padding:.55rem .85rem;
    background:#fff;border:1.5px solid var(--border);border-radius:5px;
    font-size:.9rem;font-family:"Open Sans",sans-serif;color:#464646;
    transition:border-color .25s;
}
.form-control:focus,input:focus,select:focus,textarea:focus{
    border-color:var(--base);
    box-shadow:0 0 0 3px rgba(69,130,255,.12);
    outline:none;
}
.form-text{font-size:.8rem;color:var(--muted);margin-top:.25rem;}
select.form-control{height:auto;}

/* ---- Alerts ---- */
.alert{padding:.875rem 1.25rem;border-radius:5px;margin-bottom:1rem;font-size:.9rem;}
.alert-success,.alert.success{background:#e8faf1;color:#1a7a45;border-left:4px solid var(--success);}
.alert-danger,.alert-error,.alert.error{background:#fef0f0;color:#961a1a;border-left:4px solid var(--danger);}
.alert-warning,.alert.warning{background:#fff4e6;color:#995700;border-left:4px solid var(--warning);}
.alert-info,.alert.info{background:#e8f4ff;color:#0b5692;border-left:4px solid #1e9ff2;}

/* ===========================================
   PUBLIC HEADER
   =========================================== */
.header{position:sticky;top:0;z-index:1000;}
.header__top{
    background:var(--navy);padding:.5rem 0;
    font-size:.8rem;color:rgba(255,255,255,.7);
}
.header__top a{color:rgba(255,255,255,.7);}
.header__top a:hover{color:#fff;}
.header__top .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.header-top-info{display:flex;gap:1.5rem;align-items:center;}
.header-top-info a{display:flex;align-items:center;gap:.35rem;}
.header-top-actions{display:flex;align-items:center;gap:.75rem;}
.header__bottom{
    background:rgba(0,32,70,.94);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    padding:0;border-bottom:1px solid rgba(255,255,255,.07);
}
.header.menu-fixed .header__bottom{background:var(--navy);}
.header__bottom .container{display:flex;align-items:center;justify-content:space-between;height:68px;}
.site-logo a{display:flex;align-items:center;gap:.6rem;text-decoration:none;}
.site-logo img{height:42px;width:auto;}
.site-logo span{font-family:"Maven Pro",sans-serif;font-size:1.35rem;font-weight:700;color:#fff;}
.site-logo span em{color:var(--base);font-style:normal;}
.main-menu{display:flex;align-items:center;gap:.15rem;list-style:none;}
.main-menu>li>a{
    display:block;padding:.65rem 1rem;color:rgba(255,255,255,.85);
    font-size:.875rem;font-weight:600;font-family:"Maven Pro",sans-serif;
    border-bottom:3px solid transparent;transition:var(--transition);
}
.main-menu>li>a:hover,.main-menu>li>a.active{color:#fff;border-bottom-color:var(--base);}
.nav-right{display:flex;gap:.5rem;align-items:center;}
.navbar-toggler{
    display:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
    color:#fff;padding:.4rem .7rem;border-radius:4px;cursor:pointer;font-size:1.1rem;
}
@media(max-width:991px){
    .header__bottom .container{flex-wrap:wrap;height:auto;padding:.75rem 1.5rem;position:relative;}
    .navbar-toggler{display:block;}
    .header-nav-collapse{display:none;width:100%;padding-bottom:.75rem;}
    .header-nav-collapse.show{display:flex;flex-direction:column;}
    .main-menu{flex-direction:column;align-items:flex-start;width:100%;gap:0;}
    .main-menu>li>a{padding:.45rem 0;border-bottom:none;width:100%;}
    .nav-right{margin-top:.5rem;}
}
@media(max-width:575px){.header__top .container{justify-content:center;}.header-top-info{font-size:.75rem;gap:.75rem;}}

/* old navbar compat */
.navbar{background:var(--navy);padding:.75rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.navbar .container{display:flex;align-items:center;justify-content:space-between;}
.navbar-brand a{display:flex;align-items:center;gap:.6rem;color:#fff;font-family:"Maven Pro",sans-serif;font-size:1.2rem;font-weight:700;text-decoration:none;}
.navbar-menu{display:flex;align-items:center;gap:.75rem;}
.navbar-user{display:flex;align-items:center;gap:.5rem;color:rgba(255,255,255,.8);font-size:.875rem;}
.navbar-user .badge{background:rgba(69,130,255,.3);color:rgba(255,255,255,.9);padding:.2rem .5rem;border-radius:4px;font-size:.7rem;}
.navbar-actions{display:flex;gap:.5rem;}

/* ===========================================
   PUBLIC FOOTER
   =========================================== */
footer.footer,.footer{background:var(--navy);color:rgba(255,255,255,.75);}
.footer__cta{background:linear-gradient(135deg,#4582ff 0%,#2c4fd4 100%);padding:3.5rem 0;}
.footer__cta .cta-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.footer__cta h2{color:#fff;font-size:clamp(1.3rem,3vw,1.9rem);}
.footer__cta p{color:rgba(255,255,255,.8);}
.footer__top{padding:4rem 0 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;}
@media(max-width:991px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:575px){.footer-grid{grid-template-columns:1fr;}}
.footer-widget__title{
    color:#fff;font-size:.95rem;font-family:"Maven Pro",sans-serif;font-weight:700;
    margin-bottom:1.25rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.1);
}
.footer__logo{font-family:"Maven Pro",sans-serif;font-size:1.6rem;font-weight:700;color:#fff;}
.footer__logo span{color:var(--base);}
.footer__about{margin-top:.75rem;font-size:.875rem;line-height:1.8;color:rgba(255,255,255,.6);}
.footer-link-list li{margin-bottom:.5rem;}
.footer-link-list a{color:rgba(255,255,255,.65);font-size:.875rem;display:flex;align-items:center;gap:.4rem;transition:var(--transition);}
.footer-link-list a::before{content:'';width:5px;height:5px;background:var(--base);border-radius:50%;flex-shrink:0;}
.footer-link-list a:hover{color:#fff;padding-left:4px;}
.footer__bottom{
    border-top:1px solid rgba(255,255,255,.08);padding:1.25rem 0;
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
    gap:.5rem;font-size:.8rem;color:rgba(255,255,255,.5);
}
.footer__bottom a{color:rgba(255,255,255,.5);}
.footer__bottom a:hover{color:rgba(255,255,255,.85);}

/* ===========================================
   HERO / LANDING PAGE
   =========================================== */
.hero{
    background:linear-gradient(135deg,#002046 0%,#0a3a7a 60%,#1a5eb5 100%);
    padding:6.5rem 0 5.5rem;position:relative;overflow:hidden;
}
.hero::before{
    content:'';position:absolute;top:-20%;right:-10%;
    width:600px;height:600px;
    background:radial-gradient(circle,rgba(69,130,255,.18) 0%,transparent 70%);
    pointer-events:none;
}
.hero::after{
    content:'';position:absolute;bottom:-2px;left:0;width:100%;height:65px;
    background:var(--bg-light);
    clip-path:ellipse(55% 100% at 50% 100%);
    pointer-events:none;
}
.hero__inner{position:relative;z-index:1;display:flex;align-items:center;gap:3rem;flex-wrap:wrap;}
.hero__text{flex:1 1 400px;}
.hero__badge{
    display:inline-block;background:rgba(69,130,255,.18);color:rgba(255,255,255,.9);
    font-size:.85rem;font-weight:600;font-family:"Maven Pro",sans-serif;
    padding:.3rem 1.1rem;border-radius:20px;margin-bottom:1.25rem;
    border:1px solid rgba(69,130,255,.3);
}
.hero__title{font-size:clamp(2rem,5vw,3.8rem);color:#fff;font-weight:700;line-height:1.18;margin-bottom:1.25rem;}
.hero__title span{color:var(--base);}
.hero__desc{font-size:1.1rem;color:rgba(255,255,255,.75);margin-bottom:2rem;max-width:560px;}
.hero__btns{display:flex;gap:1rem;flex-wrap:wrap;}
.btn-hero-primary{
    background:var(--base);color:#fff;padding:.85rem 2.25rem;border-radius:5px;
    font-family:"Maven Pro",sans-serif;font-weight:700;font-size:1rem;
    transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem;
}
.btn-hero-primary:hover{background:var(--base-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(69,130,255,.4);}
.btn-hero-secondary{
    background:rgba(255,255,255,.1);color:#fff;padding:.85rem 2.25rem;border-radius:5px;
    border:1.5px solid rgba(255,255,255,.3);
    font-family:"Maven Pro",sans-serif;font-weight:700;font-size:1rem;
    transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem;
}
.btn-hero-secondary:hover{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.5);}
.hero__stats{flex:0 1 340px;display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.hero-stat{
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
    border-radius:var(--radius);padding:1.25rem;text-align:center;backdrop-filter:blur(4px);
}
.hero-stat__num{font-family:"Maven Pro",sans-serif;font-size:2rem;font-weight:700;color:var(--base);}
.hero-stat__label{font-size:.78rem;color:rgba(255,255,255,.65);margin-top:.2rem;}

/* hero section compat */
.hero-section{
    background:linear-gradient(135deg,#002046 0%,#0a3a7a 60%,#1a5eb5 100%);
    color:#fff;padding:6rem 0;
}
.hero-content{text-align:center;max-width:800px;margin:0 auto;}
.hero-content h1{font-size:3rem;margin-bottom:1rem;font-weight:700;color:#fff;}
.hero-content p{font-size:1.25rem;margin-bottom:2rem;color:rgba(255,255,255,.85);}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ---- Section helpers ---- */
.section-header{text-align:center;max-width:600px;margin:0 auto 3rem;}
.section-header .section-subtitle{margin-bottom:.5rem;}
.section--bg{background:var(--bg-light);}
.section--bg2{background:var(--navy);}
.section--bg2 .section-title,.section--bg2 h2{color:#fff;}
.section--bg2 .section-subtitle{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.4);}
.section--bg2 p{color:rgba(255,255,255,.7);}

/* ---- Steps ---- */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;}
.step-card{background:#fff;border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;border:1px solid var(--border);transition:var(--transition);}
.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.step-number{
    width:56px;height:56px;
    background:linear-gradient(135deg,var(--base) 0%,var(--base-dark) 100%);
    color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;font-weight:700;font-family:"Maven Pro",sans-serif;
    margin:0 auto 1.25rem;box-shadow:0 6px 18px rgba(69,130,255,.35);
}
.step-card h3{font-size:1rem;margin-bottom:.5rem;}
.step-card p{font-size:.875rem;color:var(--muted);}

/* ---- Feature cards ---- */
.features-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;}
.feature-card{
    background:#fff;border-radius:var(--radius);padding:2rem;
    border:1px solid var(--border);
    display:flex;gap:1.25rem;align-items:flex-start;
    transition:var(--transition);
}
.feature-card:hover{box-shadow:var(--shadow);border-color:rgba(69,130,255,.25);transform:translateY(-3px);}
.feature-card>i,.feature-card>.feature-card__icon{
    width:54px;height:54px;min-width:54px;
    background:rgba(69,130,255,.1);color:var(--base);border-radius:10px;
    display:flex;align-items:center;justify-content:center;font-size:1.5rem;
}
.feature-card>i{border-radius:10px;display:flex;align-items:center;justify-content:center;
    background:rgba(69,130,255,.1);color:var(--base);font-size:1.5rem;
    width:54px;height:54px;min-width:54px;flex-shrink:0;
}
/* old dashboard feature-card: center layout */
.feature-card.text-center,.features-section .feature-card{
    flex-direction:column;align-items:center;text-align:center;
}
.features-section .feature-card>i{margin-bottom:.75rem;}
.feature-card h3{font-size:.95rem;margin-bottom:.35rem;}
.feature-card p{font-size:.85rem;color:var(--muted);line-height:1.6;}

/* ---- Properties ---- */
.properties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.75rem;}
.property-card{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:var(--transition);}
.property-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.property-image{position:relative;height:210px;overflow:hidden;background:var(--bg-light);}
.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.property-card:hover .property-image img{transform:scale(1.04);}
.property-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-light);color:#bbb;font-size:3rem;}
.property-badge{position:absolute;top:.75rem;right:.75rem;background:var(--base);color:#fff;padding:.2rem .7rem;border-radius:20px;font-size:.75rem;font-weight:700;font-family:"Maven Pro",sans-serif;}
.property-info{padding:1.25rem;}
.property-info h3{font-size:1rem;margin-bottom:.35rem;line-height:1.4;}
.property-location{color:var(--muted);font-size:.8rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.3rem;}
.property-features{display:flex;gap:1rem;margin-bottom:.75rem;font-size:.8rem;color:var(--muted);}
.property-price{font-size:1.25rem;font-weight:700;color:var(--success);margin-bottom:.25rem;font-family:"Maven Pro",sans-serif;}
.property-financing{font-size:.78rem;color:var(--muted);margin-bottom:1rem;}

/* ---- CTA ---- */
.cta-section{padding:4rem 0;}
.cta-content{text-align:center;padding:3.5rem 2rem;background:linear-gradient(135deg,var(--navy) 0%,#0a3a7a 100%);border-radius:var(--radius);}
.cta-content h2{color:#fff;font-size:clamp(1.4rem,3vw,2.1rem);margin-bottom:.75rem;}
.cta-content p{color:rgba(255,255,255,.75);margin-bottom:2rem;}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.section-header.section-header--inline{display:flex;align-items:center;justify-content:space-between;text-align:left;max-width:none;}

/* ---- Stat cards ---- */
.stat-card{background:#fff;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;align-items:center;gap:1rem;}
.stat-icon{font-size:2.5rem;padding:1rem;border-radius:var(--radius);}
.stat-icon.primary{background:rgba(69,130,255,.1);color:var(--base);}
.stat-icon.success{background:rgba(40,199,111,.1);color:var(--success);}
.stat-icon.warning{background:rgba(255,159,67,.1);color:var(--warning);}
.stat-icon.danger{background:rgba(234,84,85,.1);color:var(--danger);}
.stat-info h3{font-size:2rem;margin-bottom:.25rem;}
.stat-info p{color:var(--muted);font-size:.875rem;}

/* ===========================================
   MUTUARIO SIDEBAR LAYOUT
   =========================================== */
.mutuario-layout{display:flex;min-height:100vh;}
.d-sidebar{
    position:fixed;top:0;left:0;width:260px;height:100vh;
    background:var(--navy);overflow-y:auto;z-index:900;
    transition:left .3s ease;display:flex;flex-direction:column;
}
.d-sidebar::-webkit-scrollbar{width:4px;}
.d-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px;}
.sidebar-brand{
    padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);
    display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0;
}
.sidebar-brand__icon{
    width:36px;height:36px;background:var(--base);border-radius:8px;
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0;
}
.sidebar-brand__name{font-family:"Maven Pro",sans-serif;font-size:1.25rem;font-weight:700;color:#fff;}
.sidebar-user{
    padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);
    display:flex;align-items:center;gap:.75rem;flex-shrink:0;
}
.sidebar-user__avatar{
    width:40px;height:40px;background:rgba(69,130,255,.2);border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:var(--base);font-size:1.15rem;flex-shrink:0;
}
.sidebar-user__name{font-size:.85rem;font-weight:600;color:#fff;font-family:"Maven Pro",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar-user__role{font-size:.72rem;color:rgba(255,255,255,.45);}
.sidebar-nav{padding:1rem 0;flex:1;}
.sidebar-nav__section-label{
    padding:.5rem 1.5rem .25rem;font-size:.68rem;text-transform:uppercase;
    letter-spacing:.1em;color:rgba(255,255,255,.35);font-family:"Maven Pro",sans-serif;font-weight:700;margin-top:.5rem;
}
.sidebar-nav__item{margin:.1rem 0;}
.sidebar-nav__link{
    display:flex;align-items:center;gap:.75rem;padding:.65rem 1.5rem;
    color:rgba(255,255,255,.65);font-size:.875rem;font-family:"Maven Pro",sans-serif;
    font-weight:500;border-left:3px solid transparent;transition:var(--transition);text-decoration:none;
}
.sidebar-nav__link i{font-size:1.1rem;flex-shrink:0;}
.sidebar-nav__link:hover{color:#fff;background:rgba(255,255,255,.06);border-left-color:var(--base);}
.sidebar-nav__link.active{color:var(--base);background:rgba(69,130,255,.12);border-left-color:var(--base);}
.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;}
.sidebar-logout-link{display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.5);font-size:.875rem;transition:var(--transition);}
.sidebar-logout-link:hover{color:var(--danger);}

/* Top header (mutuario) */
.mutuario-topbar{
    position:fixed;top:0;left:260px;right:0;height:64px;
    background:#fff;border-bottom:1px solid var(--border);
    display:flex;align-items:center;justify-content:space-between;
    padding:0 1.75rem;z-index:800;transition:left .3s ease;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.topbar-left{display:flex;align-items:center;gap:1rem;}
.topbar-page-title{font-family:"Maven Pro",sans-serif;font-size:1.05rem;font-weight:700;color:#10163A;}
.topbar-right{display:flex;align-items:center;gap:1rem;}
.topbar-user{display:flex;align-items:center;gap:.6rem;font-size:.875rem;color:#464646;}
.topbar-user .avatar{width:36px;height:36px;background:rgba(69,130,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--base);font-size:1rem;}
.sidebar-open-btn{display:none;background:none;border:none;font-size:1.3rem;color:#464646;cursor:pointer;padding:.25rem;}

/* Main content */
.mutuario-content{margin-left:260px;margin-top:64px;min-height:calc(100vh - 64px);padding:2rem;transition:margin-left .3s ease;background:var(--bg-light);}

@media(max-width:991px){
    .d-sidebar{left:-260px;}
    .d-sidebar.open{left:0;transform:translateX(0);}
    .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:899;}
    .sidebar-overlay.visible{display:block;}
    .mutuario-topbar{left:0;}
    .mutuario-content{margin-left:0;}
    .sidebar-open-btn{display:block;}
}
@media(max-width:576px){
    .mutuario-content{padding:.75rem;}
    .mutuario-topbar{padding:0 .75rem;}
    .topbar-user span{display:none;}
    .topbar-left{flex:1;min-width:0;}
    .topbar-page-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;}
    .features-grid,.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;}
}

/* ---- Dashboard widgets grid ---- */
.widgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.75rem;}
.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem;}
.quick-link-card{
    text-align:center;padding:1.25rem .75rem;background:#fff;border:1px solid var(--border);
    border-radius:var(--radius);color:#464646;transition:var(--transition);text-decoration:none;display:block;
}
.quick-link-card:hover{border-color:var(--base);color:var(--base);transform:translateY(-3px);box-shadow:var(--shadow);}
.quick-link-card .icon{
    width:48px;height:48px;background:rgba(69,130,255,.08);border-radius:10px;
    display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--base);
    margin:0 auto .75rem;transition:var(--transition);
}
.quick-link-card:hover .icon{background:var(--base);color:#fff;}
.quick-link-card .caption{font-size:.78rem;font-family:"Maven Pro",sans-serif;font-weight:600;}

/* ---- Page header ---- */
.page-header{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.page-header h2{font-size:1.35rem;margin:0;color:#10163A;}
.page-header p{font-size:.875rem;color:var(--muted);margin:0;}

/* ===========================================
   AUTH / LOGIN PAGE
   =========================================== */
.auth-wrapper{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#002046 0%,#0a3a7a 100%);padding:2rem 1rem;
}
.auth-card{background:#fff;border-radius:12px;padding:2.25rem;width:100%;max-width:440px;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.login-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem;}
.login-box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:2rem;width:100%;max-width:400px;}
.login-header{text-align:center;margin-bottom:2rem;}
.login-header i{font-size:3rem;color:var(--base);margin-bottom:1rem;}
.login-header h1{font-size:1.75rem;color:var(--navy);margin-bottom:.5rem;}
.login-header p{color:var(--muted);font-size:.875rem;}
.form-links{text-align:center;margin-top:1rem;font-size:.875rem;}
.form-links a{color:var(--base);}

/* ---- main-content compat ---- */
.main-content{padding:2rem 0;min-height:calc(100vh - 64px);}

/* ---- Misc ---- */
.progress-bar-wrap{background:#e9ecef;border-radius:20px;height:8px;margin:.75rem 0;overflow:hidden;}
.progress-bar-fill{background:var(--base);border-radius:20px;height:100%;transition:width .6s ease;}
.text-light{color:var(--muted);}
@media(max-width:768px){
    .navbar .container{flex-direction:column;gap:1rem;}
    .navbar-menu{flex-direction:column;width:100%;}
    .steps-grid{grid-template-columns:1fr 1fr;}
    .properties-grid{grid-template-columns:1fr;}
    table{font-size:.875rem;}
    thead th,tbody td{padding:.5rem;}
}
@media(max-width:480px){.steps-grid{grid-template-columns:1fr;}.hero-content h1{font-size:2rem;}}
