    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{
      --cream:#F5EDE0;--cream-dark:#E8D9C4;--cream-card:#EFE3D2;
      --sand:#C8AA85;--tan:#A07848;
      --navy:#1C2F52;--navy-light:#2A4270;
      --bronze:#7A5830;--bronze-light:#9A7040;
      --ink:#140E06;--body:#2A1C0C;--muted:#6A4E30;
    }
    html{scroll-behavior:smooth}
    body{background:var(--cream);color:var(--body);font-family:"Jost",sans-serif;font-weight:400;min-height:100vh;-webkit-font-smoothing:antialiased}

    .header-logo{background:#fff;padding:20px 24px 16px;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--navy)}
    .header-logo img{max-height:256px;max-width:100%;height:auto;width:auto;display:block}
    .hero{background:var(--navy);padding:22px 24px 20px;text-align:center}
    .hero-eyebrow{font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--sand);margin-bottom:8px}
    .hero-title{font-family:"Cormorant Garamond",serif;font-size:clamp(24px,6vw,34px);font-weight:300;color:#F5EDE0;letter-spacing:.04em;line-height:1.2}
    .hero-title em{font-style:italic;color:var(--sand)}
    .intro{background:var(--cream-dark);padding:16px 22px;text-align:center;font-size:15px;color:var(--body);line-height:1.7;border-bottom:3.5px solid var(--sand)}

    .tabs-wrap{position:sticky;top:0;z-index:100;background:var(--navy);display:flex;border-bottom:3px solid var(--bronze)}
    .tab-btn{flex:1;padding:14px 6px 12px;border:none;background:transparent;cursor:pointer;font-family:"Jost",sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,237,224,.55);position:relative;transition:color .2s;outline:none}
    .tab-btn .tab-num{display:block;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:400;line-height:1;margin-bottom:3px;color:rgba(245,237,224,.4);transition:color .2s}
    .tab-btn.active{color:#F5EDE0}.tab-btn.active .tab-num{color:var(--sand)}
    .tab-btn::after{content:"";position:absolute;bottom:-3px;left:50%;right:50%;height:3px;background:var(--sand);transition:left .25s,right .25s}
    .tab-btn.active::after{left:8%;right:8%}

    .phase{display:none;padding:18px 14px 36px}.phase.active{display:block;animation:fadeIn .28s ease}
    @keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

    .phase-header{display:flex;align-items:center;gap:12px;padding:14px 0 18px;border-bottom:1.5px solid var(--sand);margin-bottom:16px}
    .phase-icon{width:44px;height:44px;background:var(--navy);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
    .phase-title{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:400;color:var(--navy);line-height:1.1}
    .phase-title span{display:block;font-size:12px;font-family:"Jost",sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}

    .card{background:var(--cream-card);border-radius:13px;margin-bottom:9px;overflow:hidden;border:1.5px solid var(--cream-dark);transition:box-shadow .2s}
    .card.open{box-shadow:0 4px 18px rgba(28,47,82,.12);border-color:var(--sand)}
    .card-trigger{width:100%;background:none;border:none;padding:14px 16px;display:flex;align-items:center;gap:13px;cursor:pointer;text-align:left;outline:none}
    .card-ico{width:42px;height:42px;background:var(--cream-dark);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;transition:background .2s;border:3px solid var(--sand)}
    .card.open .card-ico{background:var(--navy)}
    .card-label{flex:1}
    .card-label strong{display:block;font-size:15.5px;font-weight:600;color:var(--ink)}
    .card-label small{font-size:13px;color:var(--muted);font-weight:400}
    .card-chevron{font-size:15px;color:var(--bronze-light);transition:transform .25s;flex-shrink:0}
    .card.open .card-chevron{transform:rotate(180deg)}
    .card-check{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--sand);flex-shrink:0;position:relative;transition:background .2s,border-color .2s;background:rgba(255,255,255,.5)}
    .card-check::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;opacity:0;transition:opacity .15s}
    .card.done{opacity:.6}
    .card.done .card-check{background:var(--bronze);border-color:var(--bronze)}
    .card.done .card-check::after{opacity:1}
    .mark-done-btn{width:100%;margin-top:14px;padding:12px 16px;border-radius:11px;border:2px solid var(--sand);background:rgba(255,255,255,.5);color:var(--navy);font-family:"Jost",sans-serif;font-size:14.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:background .2s,border-color .2s,color .2s}
    .mark-done-btn:hover{border-color:var(--bronze)}
    .mark-done-btn .mdb-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--sand);flex-shrink:0;position:relative;transition:background .2s,border-color .2s}
    .mark-done-btn .mdb-check::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;opacity:0}
    .card.done .mark-done-btn{background:var(--bronze);border-color:var(--bronze);color:#fff}
    .card.done .mark-done-btn .mdb-check{background:rgba(255,255,255,.9);border-color:#fff}
    .card.done .mark-done-btn .mdb-check::after{opacity:1;color:var(--bronze)}
    .card-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
    .card-body-inner{padding:0 16px 16px;border-top:1px solid var(--cream-dark);padding-top:13px}

    .card-body p{font-size:15.5px;line-height:1.75;color:var(--body);margin-bottom:11px}
    .card-body p:last-child{margin-bottom:0}
    strong{color:var(--ink)}

    .tip{background:rgba(122,88,48,.1);border-left:5px solid var(--bronze);border-radius:0 10px 10px 0;padding:12px 15px;margin:12px 0;font-size:14.5px;line-height:1.65;color:var(--body)}
    .tip strong{font-weight:600;color:var(--bronze)}
    .tip-warn{background:rgba(160,40,20,.08);border-left:5px solid #A02814;border-radius:0 10px 10px 0;padding:12px 15px;margin:12px 0;font-size:14.5px;line-height:1.65;color:var(--body)}
    .tip-warn strong{font-weight:600;color:#A02814}
    .tip-info{background:rgba(28,47,82,.07);border-left:5px solid var(--navy);border-radius:0 10px 10px 0;padding:12px 15px;margin:12px 0;font-size:14.5px;line-height:1.65;color:var(--body)}
    .tip-info strong{font-weight:600;color:var(--navy)}

    .data-table{width:100%;border-collapse:collapse;margin:13px 0;font-size:14.5px;overflow:hidden}
    .data-table td{padding:8px 11px;border-bottom:1px solid var(--cream-dark)}
    .data-table tr:last-child td{border-bottom:none}
    .data-table td:first-child{font-weight:600;color:var(--navy);width:38%;white-space:nowrap}
    .data-table td:last-child{color:var(--body)}
    .data-table tr:nth-child(odd){background:rgba(255,255,255,.55)}
    .data-table tr:nth-child(even){background:rgba(255,255,255,.25)}
    .data-table .fill{color:var(--bronze-light);font-style:italic}

    .schedule-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14.5px;overflow:hidden}
    .schedule-table thead td{background:var(--navy);color:#F5EDE0;font-weight:600;padding:11px 14px;text-transform:uppercase;font-size:12px;letter-spacing:.09em}
    .schedule-table tbody td{padding:9px 12px;border-bottom:1px solid var(--cream-dark);color:var(--body)}
    .schedule-table tbody tr:last-child td{border-bottom:none}
    .schedule-table tbody td:first-child{color:var(--navy);font-weight:600}
    .schedule-table tbody tr:nth-child(odd){background:rgba(255,255,255,.55)}
    .schedule-table tbody tr:nth-child(even){background:rgba(255,255,255,.28)}

    .steps{list-style:none;margin:10px 0}
    .steps li{display:flex;gap:12px;margin-bottom:11px;font-size:15.5px;line-height:1.65;color:var(--body)}
    .step-num{width:24px;height:24px;background:var(--navy);color:#F5EDE0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0;margin-top:4px}

    a{color:var(--navy);font-weight:500;text-decoration:none}
    a:hover{text-decoration:underline;color:var(--bronze)}

    .link-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;background:var(--navy);color:#F5EDE0!important;font-size:14px;font-weight:600;letter-spacing:.04em;text-decoration:none!important;margin:6px 6px 6px 0;transition:background .2s}
    .link-btn:hover{background:var(--navy-light)}

    .store-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    .store-btn{display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:11px;border:3.5px solid var(--sand);background:rgba(255,255,255,.55);text-decoration:none;font-size:13.5px;color:var(--navy)!important;font-weight:600;letter-spacing:.02em;transition:background .2s,border-color .2s}
    .store-btn:hover{background:var(--cream-dark);border-color:var(--bronze-light);text-decoration:none}
    .store-btn svg{width:13px;height:13px;flex-shrink:0}

    .highlight{font-weight:600;color:var(--navy)}
    .code-tag{display:inline-block;background:var(--navy);color:#F5EDE0;font-family:monospace;font-size:17px;letter-spacing:.1em;padding:4px 12px;border-radius:8px}
    .badge-ok{display:inline-block;background:rgba(58,92,42,.14);color:#2A4A1A;border:3.5px solid rgba(58,92,42,.3);font-size:13px;font-weight:600;padding:5px 13px;border-radius:22px;margin-bottom:10px}

    .contact-list{margin:8px 0 4px}
    .contact-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--cream-dark);list-style:none}
    .contact-list li:last-child{border-bottom:none}
    .contact-list .c-name{flex:1;font-weight:500;color:var(--navy);font-size:15.5px}
    .contact-list a{font-size:15px;font-weight:600;color:var(--bronze)}

    .paint-swatch{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.6);border:1.5px solid var(--sand);border-radius:9px;padding:8px 12px;margin:8px 0}
    .paint-swatch .dot{width:28px;height:28px;border-radius:6px;border:1px solid var(--cream-dark);flex-shrink:0}
    .paint-swatch span{font-size:14.5px;font-weight:600;color:var(--navy)}
    .paint-swatch small{display:block;font-size:13px;color:var(--muted);font-weight:400}

    .enel-search{margin:10px 0}
    .enel-input{width:100%;padding:13px 16px;border:3.5px solid var(--sand);border-radius:12px;background:rgba(255,255,255,.65);font-family:"Jost",sans-serif;font-size:16px;color:var(--ink);outline:none;transition:border-color .2s}
    .enel-input:focus{border-color:var(--navy)}
    .enel-input::placeholder{color:var(--muted)}
    .enel-result{margin-top:10px;padding:14px 16px;border-radius:12px;font-size:15px}
    .enel-result.found{background:rgba(28,47,82,.08);border:1.5px solid rgba(28,47,82,.2);color:var(--navy)}
    .enel-result.found strong{display:block;font-size:21px;font-family:"Jost",sans-serif;font-weight:700;letter-spacing:.05em;margin-top:5px;color:var(--navy)}
    .enel-result.not-found{background:rgba(180,60,30,.07);border:1.5px solid rgba(180,60,30,.2);color:#7A2010}

    .footer{background:var(--navy);padding:28px 24px 24px;text-align:center}
    .footer img{height:90px;width:auto;display:block;margin:0 auto 16px;opacity:.92}
    .footer em{display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:18px;color:var(--sand);margin-bottom:8px}
    .footer p{font-size:13px;letter-spacing:.07em;color:rgba(245,237,224,.5)}
    .next-phase{cursor:pointer;margin:28px 16px 8px;padding:22px 20px;border-radius:16px;background:linear-gradient(135deg,var(--navy),#16233d);border:2px solid var(--bronze);text-align:center;transition:transform .15s,box-shadow .15s}
    .next-phase:hover,.next-phase:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(28,47,82,.35)}
    .next-phase .np-q{display:block;font-family:"Jost",sans-serif;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,237,224,.6);margin-bottom:6px}
    .next-phase .np-cta{display:block;font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:600;color:#F5EDE0;line-height:1.3}
    .next-phase .np-cta strong{color:var(--sand)}
    .next-phase .np-arrow{display:inline-block;margin-left:8px;transition:transform .15s}
    .next-phase:hover .np-arrow{transform:translateX(4px)}
    .phase-done{margin:28px 16px 8px;padding:22px 20px;border-radius:16px;background:rgba(200,170,133,.18);border:2px solid var(--sand);text-align:center}
    .phase-done .np-q{display:block;font-family:"Jost",sans-serif;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze);margin-bottom:6px}
    .phase-done .np-cta{display:block;font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:600;color:var(--navy);line-height:1.3}
    .phase-progress{margin-left:auto;font-family:"Jost",sans-serif;font-size:12.5px;font-weight:600;color:var(--bronze);background:rgba(122,88,48,.1);border:1.5px solid var(--sand);border-radius:20px;padding:5px 12px;white-space:nowrap;flex-shrink:0}
    .pending-alert{display:none;align-items:center;gap:10px;background:rgba(180,60,30,.08);border:1.5px solid #d9704f;border-radius:12px;padding:12px 16px;margin-bottom:14px;cursor:pointer;transition:background .2s}
    .pending-alert.show{display:flex}
    .pending-alert:hover{background:rgba(180,60,30,.14)}
    .pending-alert .pa-icon{font-size:18px;flex-shrink:0}
    .pending-alert .pa-text{font-size:14px;color:#7A2010;font-weight:600;line-height:1.4}

    /* Seletor de bloco (condomínios com múltiplos prédios, ex. Venice/Firenze) */
    .bloco-wrap{background:var(--cream-dark);border-bottom:2px solid var(--sand);display:flex;justify-content:center;gap:8px;padding:12px 16px}
    .bloco-btn{flex:1;max-width:180px;padding:10px 16px;border:2px solid var(--sand);border-radius:30px;background:transparent;font-family:"Jost",sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--muted);cursor:pointer;transition:all .2s;text-transform:uppercase}
    .bloco-btn.active{background:var(--navy);border-color:var(--navy);color:#F5EDE0}
    .bloco-content{display:none}.bloco-content.active{display:block}
    .bloco-badge{display:inline-block;font-size:11px;font-family:"Jost",sans-serif;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:20px;margin-bottom:8px}
    .badge-venice{background:rgba(28,47,82,.1);color:var(--navy)}
    .badge-firenze{background:rgba(122,88,48,.12);color:var(--bronze)}

    /* Login gate */
    .login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--cream)}
    .login-card{background:var(--cream-card);border-radius:18px;border:1.5px solid var(--sand);padding:32px 24px;max-width:400px;width:100%}
    .login-card h1{font-family:"Cormorant Garamond",serif;font-size:28px;color:var(--navy);margin-bottom:6px;text-align:center}
    .login-card .login-sub{font-size:13.5px;color:var(--muted);text-align:center;margin-bottom:22px}
    .login-field{margin-bottom:14px}
    .login-field label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em}
    .login-field input{width:100%;padding:12px 14px;border:2px solid var(--sand);border-radius:10px;font-family:"Jost",sans-serif;font-size:15px;background:#fff;color:var(--ink);outline:none;transition:border-color .2s}
    .login-field input:focus{border-color:var(--navy)}
    .login-submit{width:100%;margin-top:8px;padding:13px;border-radius:10px;border:none;background:var(--navy);color:#F5EDE0;font-family:"Jost",sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}
    .login-submit:hover{background:var(--navy-light)}
    .login-submit:disabled{opacity:.6;cursor:not-allowed}
    .login-error{background:rgba(180,60,30,.08);border:1.5px solid #d9704f;border-radius:10px;padding:11px 14px;font-size:13.5px;color:#7A2010;margin-top:14px;display:none}
    .login-error.show{display:block}
    .login-attempts{font-size:12px;color:var(--muted);text-align:center;margin-top:10px}
