:root{
      --primary:#1273ea;
      --text:#0f172a;
      --muted:#475569;
      --bg:#f8fafc;
      --card:#ffffff;
      --radius:14px;
      --shadow:0 12px 30px rgba(2,6,23,.08);
      --border:#e5e7eb;
    }
    *{box-sizing:border-box}
    body{
      margin:0;background:var(--bg);color:var(--text);
      font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif
    }
    a{color:var(--primary);text-decoration:none}
    .container{max-width:1100px;margin:0 auto;padding:28px}
    .topbar{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border)}
    .nav{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:12px 18px;max-width:1170px;margin:0 auto}
    .brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--primary)}
    .brand svg{width:26px;height:26px}
    .menu{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
    .menu a{font-weight:600;color:var(--text);opacity:.9}
    .menu .cta{padding:10px 14px;border-radius:12px;background:var(--primary);color:#fff;font-weight:800}
    .notice{background:#0b5fff;color:#fff;text-align:center;padding:10px 14px;font-weight:700}
    .notice a{color:#fff;text-decoration:underline;font-weight:800}
    .card{
      background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
      padding:26px;margin:18px 0;border:1px solid var(--border)
    }
    h1{margin:10px 0 18px;font-size:28px;line-height:1.25;color:#1a56db}
    .form-grid{display:grid;gap:18px}
    label{display:block;font-weight:700;margin-bottom:6px;color:#0b1324}
    .help{font-size:12.5px;color:#64748b;margin-top:6px}
    input[type="text"],input[type="number"],select,textarea,
    .form-control{
      width:100%;min-height:42px;padding:8px 12px;border:1px solid #d9e2ec;
      border-radius:10px;background:#fff;outline:none;
      transition:border-color .15s,box-shadow .15s;font-size:15px
    }
    textarea{min-height:110px;resize:vertical;line-height:1.45}
    input:focus,select:focus,textarea:focus,.form-control:focus{
      border-color:#1a56db;box-shadow:0 0 0 3px rgba(26,86,219,.12)
    }
    .inline-input{display:flex;align-items:center;gap:10px}
    .clear-btn,
    .form-grid .input-group .btn.btn-danger.btn-sm{
      width:40px!important;height:40px!important;min-width:40px;min-height:40px;border-radius:50%!important;
      border:0!important;background:#ef4444!important;color:#fff!important;
      font-size:24px!important;font-weight:900!important;font-family:inherit;line-height:38px!important;
      display:flex!important;justify-content:center!important;
      box-shadow:none!important;padding:0!important;text-align:center!important;flex-shrink:0;vertical-align:middle!important;
      position:relative
    }
    .clear-btn:hover,
    .form-grid .input-group .btn.btn-danger.btn-sm:hover{filter:brightness(1.05)}
    .clear-btn:active,
    .form-grid .input-group .btn.btn-danger.btn-sm:active{transform:translateY(1px)}
    .row-2{display:grid;grid-template-columns:1fr 150px;gap:12px}
    @media (max-width:720px){.row-2{grid-template-columns:1fr}}
    .aliquota-wrap{display:flex;align-items:center;gap:8px}
    .help-fab{
      width:36px;height:36px;border-radius:999px;border:0;cursor:pointer!important;
      background:#0b5fff;color:#fff;font-weight:800;font-size:18px;
      display:inline-flex;align-items:center;justify-content:center;
      box-shadow:0 6px 18px rgba(2,6,23,.18)
    }
    .help-fab:hover{filter:brightness(1.03)}
    .help-fab:active{transform:translateY(1px)}
    .callout{
      background:#fff7db;border:1px solid #f3e7b3;color:#7a5f00;
      border-radius:10px;padding:12px 14px;margin:4px 0 2px
    }
    .actions{display:flex;justify-content:center;margin-top:6px;gap:12px;flex-wrap:wrap}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      min-height:44px;height:44px;padding:0 18px;border:0;border-radius:10px;
      background:var(--primary);color:#fff;font-weight:700;cursor:pointer!important;
      text-align:center;line-height:1.2;gap:6px
    }
    .actions .btn{min-width:220px}
    .actions .btn:hover{color:#fff}
    .btn:hover{filter:brightness(1.03)}
    .btn:active{transform:translateY(1px)}
    .btn.btn-sm{min-height:32px;padding:0 12px;font-size:13px}
    .btn.btn-danger{background:#ef4444}
    .btn.btn-danger:hover{filter:brightness(1.05)}
    .btn.btn-outline-primary,
    .btn.btn-outline-info,
    .btn.btn-outline-danger{
      background:#fff;border:1px solid var(--primary);color:var(--primary);
      min-height:38px
    }
    .btn.btn-outline-info{border-color:#0891b2;color:#0891b2}
    .btn.btn-outline-danger{border-color:#dc2626;color:#dc2626}
    .btn-outline{
      padding:10px 18px;border-radius:10px;border:1px solid #cbd5e1;
      background:#fff;color:#0f172a;font-weight:700;cursor:pointer!important;min-width:120px
    }
    .btn-outline:hover{background:#f8fafc}
    .footer{color:var(--muted);font-size:14px;margin-top:22px;text-align:center;padding:28px}
    .footer a{color:var(--primary)}
    .field-errors{color:#dc2626;font-size:13px;margin:6px 0 0}
    .autocomplete-dropdown{
      max-height:200px;overflow-y:auto;position:absolute;width:100%;z-index:40;
      background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 10px 10px
    }
    .autocomplete-dropdown button{
      width:100%;text-align:left;padding:10px 14px;border:0;background:#fff;cursor:pointer!important
    }
    .autocomplete-dropdown button:hover{background:#f3f6fb}
    .dropdown-wrap{position:relative}
    .modal-backdrop[aria-hidden="true"]{display:none}
    .modal-backdrop{
      position:fixed;inset:0;background:rgba(2,6,23,.45);z-index:1000;
      backdrop-filter:saturate(120%) blur(1px)
    }
    .modal{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px}
    .modal-card{
      width:min(560px,92vw);background:#fff;border:1px solid #e5e7eb;border-radius:14px;
      box-shadow:0 24px 60px rgba(2,6,23,.28);padding:22px
    }
    .modal-ico{
      width:86px;height:86px;margin:4px auto 8px;border-radius:999px;background:rgba(250,172,86,.18);
      position:relative
    }
    .modal-ico::before{
      content:"!";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
      font-weight:900;font-size:52px;color:#f59e0b
    }
    .modal-title{margin:6px 0 4px;font-size:28px;line-height:1.2;text-align:center;color:#0f172a}
    .modal-sub{margin:0 0 12px;text-align:center;color:#64748b}
    textarea#msgReport{
      width:100%;min-height:130px;border:1px solid #dbe2ea;border-radius:12px;
      padding:10px;font-size:15px;outline:none;resize:vertical
    }
    textarea#msgReport:focus{border-color:#1a56db;box-shadow:0 0 0 3px rgba(26,86,219,.12)}
    .modal-actions{display:flex;gap:10px;justify-content:center;margin-top:12px}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

    /* Harmoniza os formulários das demais calculadoras com o padrão da ata notarial */
    .card>h1{
      text-align:center;font-size:28px;line-height:1.25;color:#1a56db;font-weight:800;
      margin:10px 0 18px;
    }
    .form-grid .row{margin:0;display:block}
    .form-grid .row>[class*="col-"]{
      padding:0;max-width:none;flex:none;width:100%
    }
    .form-grid .mx-auto{margin-left:0!important;margin-right:0!important}
    .form-grid .mb-3{margin-bottom:18px!important}
    .form-grid .mb-2{margin-bottom:12px!important}
    .form-grid .mt-2{margin-top:12px!important}
    .form-grid label,.form-grid .form-label,.form-grid label strong{font-weight:700;color:#0b1324}
    .form-grid small.form-text,.form-grid .form-text.text-muted{
      display:block;color:#64748b;margin-top:6px;font-size:12.5px
    }
    .form-grid input[type="text"],.form-grid input[type="number"],.form-grid select,
    .form-grid textarea,.form-grid .form-control,.form-grid .custom-select{
      width:100%;min-height:44px;padding:10px 12px;border:1px solid #d9e2ec;
      border-radius:10px;background:#fff;outline:none;box-shadow:none;font-size:15px
    }
    .form-grid select,.form-grid .custom-select{background-position:right 10px center;background-repeat:no-repeat}
    .form-grid textarea{min-height:110px;line-height:1.45}
    .form-grid .input-group{
      display:flex;align-items:center;gap:10px;flex-wrap:wrap
    }
    .form-grid .input-group>.form-control,.form-grid .input-group>.custom-select{
      flex:1;min-width:0;border-radius:10px!important;border:1px solid #d9e2ec
    }
    .form-grid .input-group-text{
      border:1px solid #d9e2ec;background:#f8fafc;color:#475569;font-weight:700;
      border-radius:10px;padding:10px 12px;min-height:44px
    }
    .form-grid .input-group-append,.form-grid .input-group-prepend{display:flex;align-items:center}
    .form-grid .input-group-append,.form-grid .input-group-prepend{
      align-items:center!important;justify-content:center;gap:0
    }
    .form-grid .input-group-append .btn,.form-grid .input-group-prepend .btn{margin-left:0}
    .form-grid .input-group .btn{
      min-height:38px;height:38px;padding:0 12px;border-radius:10px
    }
    .form-grid .input-group .btn.btn-danger.btn-sm{
      width:44px;height:44px;border-radius:50%;padding:0;font-size:20px;font-weight:900;
      display:flex;align-items:center;justify-content:center;line-height:44px;box-shadow:none;
      border:0;background:#ef4444;color:#fff;cursor:pointer!important;text-align:center;min-width:44px;min-height:44px;font-family:inherit;flex-shrink:0;vertical-align:middle;position:relative
    }
    .btn-report-aliquota{font-size:18px;font-weight:800;line-height:1}
    .form-grid .card{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border)}

    /* Pop-ups do SweetAlert2 seguindo o padrão visual */
    .swal2-container.swal2-backdrop-show{backdrop-filter:saturate(120%) blur(1px)}
    .swal2-popup{
      border-radius:14px;box-shadow:0 24px 60px rgba(2,6,23,.28);
      padding:22px 22px 20px;width:min(560px,92vw);font-family:inherit;
    }
    .swal2-title{
      font-size:28px;font-weight:800;color:#0f172a;margin:6px 0 4px;line-height:1.2
    }
    .swal2-html-container{margin:0 0 8px;color:#64748b;font-size:16px}
    .swal2-icon{margin:4px auto 8px}
    .swal2-icon.swal2-warning{
      width:86px;height:86px;border:0;box-shadow:none;border-radius:999px;
      background:rgba(250,172,86,.18);color:#f59e0b
    }
    .swal2-icon.swal2-warning .swal2-icon-content{font-size:52px;font-weight:900}
    .swal2-actions{gap:10px}
    .swal2-styled.swal2-confirm{
      background:#1273ea!important;border-radius:10px!important;font-weight:700;
      min-width:120px;min-height:44px;box-shadow:none!important
    }
    .swal2-styled.swal2-cancel{
      background:#fff!important;color:#0f172a!important;border:1px solid #cbd5e1!important;
      border-radius:10px!important;min-width:120px;min-height:44px;box-shadow:none!important
    }
    .swal2-popup textarea{
      width:100%;min-height:130px;border:1px solid #dbe2ea;border-radius:12px;
      padding:10px;font-size:15px;outline:none;resize:vertical
    }
    .swal2-popup textarea:focus{border-color:#1a56db;box-shadow:0 0 0 3px rgba(26,86,219,.12)}
