@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap');
:root{--recriar-purple:#2c2351;--recriar-plum:#493064;--recriar-pink:#bd2451;--recriar-gold:#eba719;--recriar-blue:#219de5;--recriar-lavender:#f0e9f8;--recriar-line:#e4dcee;--bs-primary:#493064;--bs-primary-rgb:73,48,100;--bs-body-color:#302346;--bs-body-font-family:'Nunito',system-ui,sans-serif;--bs-border-color:#e4dcee;--bs-link-color:#733b83;--bs-link-hover-color:#a51e48}
body.recriar-app{min-height:100vh;margin:0;padding:0 32px 48px 282px;background:radial-gradient(ellipse at 90% 0%,#ede2f8 0,transparent 45%),radial-gradient(ellipse at 0% 100%,#fcecf0 0,transparent 50%),#fbf9fd;color:var(--recriar-purple);font-family:var(--bs-body-font-family)}
body.recriar-app:after{content:'';position:fixed;z-index:-1;bottom:-100px;right:-70px;width:60vw;height:230px;background:#e9dff3;border-radius:60% 50% 0 0;transform:rotate(-7deg);pointer-events:none}
.recriar-app>.container,.recriar-app>.container-fluid{max-width:1440px;margin:0 auto!important;padding-left:0;padding-right:0}
h1,h2,h3,h4,h5,h6{color:var(--recriar-purple);font-weight:800;letter-spacing:-.025em}h1.h3{font-size:1.85rem}a{text-underline-offset:3px}.text-muted{color:#776b85!important}.small,small{line-height:1.5}
.recriar-sidebar{width:250px;position:fixed;inset:0 auto 0 0;z-index:1000;display:flex;flex-direction:column;padding:30px 18px 22px;background:linear-gradient(155deg,#34264f,#2c2351 65%,#513465);color:white;overflow-y:auto;border-right:1px solid #533c6b}
.recriar-sidebar:after{content:'';position:absolute;width:210px;height:100px;bottom:105px;left:-70px;border-top:1px solid #e9a420;border-radius:50%;transform:rotate(-17deg);pointer-events:none;opacity:.6}
.recriar-brand{display:block;background:white;padding:14px 12px;border-radius:20px;margin:0 10px 30px;box-shadow:0 8px 22px #130b2826}.recriar-brand img{width:100%;height:auto;display:block}.recriar-nav-label{font-size:.62rem;letter-spacing:.15em;color:#c4b6d6;padding:0 16px;margin-bottom:14px;font-weight:800}.recriar-nav{display:grid;gap:8px}.recriar-nav>a{display:flex;gap:14px;align-items:center;padding:13px 16px;color:#eee7f6;text-decoration:none;font-weight:700;border-radius:15px;transition:background .15s,transform .15s}.recriar-nav>a:hover{background:#ffffff13;color:white;transform:translateX(2px)}.recriar-nav>a[aria-current=page]{background:linear-gradient(110deg,#c52b63,#b72554);color:#fff;box-shadow:0 6px 16px #190d2b30}.recriar-icon{width:23px;height:23px;flex:none}.recriar-sidebar-footer{margin-top:auto;padding:70px 12px 0;font-size:.72rem;color:#cfbfdc}.recriar-sidebar-footer button{display:flex;align-items:center;gap:12px;color:white;background:none;border:0;padding:16px 0 0;font-size:.9rem;font-weight:700}.recriar-sidebar-footer form{margin:0}
.recriar-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:29px 0 23px;border-bottom:1px solid var(--recriar-line);margin-bottom:22px}.recriar-greeting>div{font-size:1.65rem;font-weight:900;letter-spacing:-.035em}.recriar-greeting span{color:#da9310;font-size:1.6rem;margin-left:8px}.recriar-greeting p{margin:3px 0 0;font-size:.9rem;color:#776b85}.recriar-account{display:flex;align-items:center;gap:12px;font-size:.85rem}.recriar-account strong,.recriar-account small{display:block}.recriar-account small{color:#776b85;margin-top:3px}.recriar-avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#e7d9f1;border:3px solid white;font-weight:900;font-size:1.1rem}.recriar-menu-toggle{display:none}.recriar-actions{display:flex;justify-content:flex-end;gap:9px;margin-bottom:23px}.recriar-actions details{position:relative;z-index:10}.recriar-actions summary{list-style:none}.recriar-actions details>div{position:absolute;right:0;top:42px;min-width:190px;background:white;padding:8px;border:1px solid var(--recriar-line);border-radius:14px;box-shadow:0 8px 20px #30234615}.recriar-actions details a{display:block;text-decoration:none;padding:10px;border-radius:9px}.recriar-actions details a:hover{background:var(--recriar-lavender)}
.recriar-skip{position:fixed;top:-90px;left:280px;padding:14px;background:white;z-index:2000}.recriar-skip:focus{top:10px}.recriar-app .card{border:1px solid var(--recriar-line);border-radius:19px;background:#ffffffed;box-shadow:0 4px 16px #30234606;overflow:visible}.recriar-app .card-header{padding:17px 21px;border-color:var(--recriar-line);border-radius:18px 18px 0 0!important;background:#f4eef9!important;color:var(--recriar-purple)!important}.recriar-app .card-header h2,.recriar-app .card-header h4,.recriar-app .card-header h6{color:inherit}.recriar-app .card-body{padding:22px}.recriar-app .shadow-sm{box-shadow:0 4px 18px #30234608!important}.recriar-app .card-header .btn-outline-light{color:var(--recriar-plum);border-color:#c9b6dc}.recriar-app .card-header .text-white{color:var(--recriar-purple)!important}.recriar-app .card-header.bg-success{background:#e9f4e4!important;color:#386633!important}.recriar-app .card-header.bg-warning{background:#fff3d9!important}
.recriar-app .btn{border-radius:12px;font-weight:800;padding:10px 18px;font-size:.9rem;transition:background .15s,box-shadow .15s}.recriar-app .btn-sm{padding:7px 12px;font-size:.8rem}.recriar-app .btn-primary,.recriar-app .btn-success{--bs-btn-bg:#493064;--bs-btn-border-color:#493064;--bs-btn-hover-bg:#33204b;--bs-btn-hover-border-color:#33204b;--bs-btn-active-bg:#33204b;--bs-btn-active-border-color:#33204b;--bs-btn-disabled-bg:#77658e;--bs-btn-disabled-border-color:#77658e;box-shadow:0 3px 7px #49306416}.recriar-app .btn-outline-primary{--bs-btn-color:#493064;--bs-btn-border-color:#d3c3df;--bs-btn-hover-bg:#eee5f7;--bs-btn-hover-color:#493064;--bs-btn-hover-border-color:#b49cc9;--bs-btn-active-bg:#e8dcf3;--bs-btn-active-color:#493064}.recriar-app .btn-secondary{background:#eee7f4;color:#493064;border-color:#e2d7ec}.recriar-app .btn-danger{--bs-btn-bg:#b4264f;--bs-btn-border-color:#b4264f}.recriar-app .btn:focus-visible,.recriar-app a:focus-visible,.recriar-app summary:focus-visible{outline:3px solid var(--recriar-gold);outline-offset:3px}
.recriar-app .form-control,.recriar-app .form-select{border-color:#daccdf;border-radius:11px;min-height:43px;color:#302346;background-color:#fff}.recriar-app .form-control:focus,.recriar-app .form-select:focus{border-color:#9974b5;box-shadow:0 0 0 3px #7852a01a}.recriar-app .form-label{font-weight:700;font-size:.86rem;color:#594667}.recriar-app .form-check-input:checked{background-color:#493064;border-color:#493064}.recriar-app .input-group .form-select{border-radius:11px 0 0 11px}.recriar-app textarea.form-control{min-height:100px}
.recriar-app .nav-pills .nav-link{border-radius:10px;font-weight:800;color:#614377;padding:8px 18px}.recriar-app .nav-pills .nav-link.active{background:#493064;color:white;box-shadow:0 3px 7px #49306418}.recriar-app .nav-pills{gap:5px}.recriar-app .list-group{gap:10px}.recriar-app .list-group-item{border:1px solid var(--recriar-line)!important;border-radius:14px!important;box-shadow:0 2px 7px #30234604;background:white;padding:18px!important;border-left:4px solid #cdb4e1!important}.recriar-app .list-group-item:hover{background:#fdfbff}.recriar-app .list-group-item .fw-bold{color:#493064}.recriar-app .badge{border-radius:20px;padding:7px 11px;font-size:.72rem;letter-spacing:.01em;font-weight:800}.recriar-app .badge.bg-success{background:#e3f1dd!important;color:#36642d}.recriar-app .badge.bg-warning{background:#fff0cd!important;color:#845309!important}.recriar-app .badge.bg-danger{background:#fbe0e9!important;color:#a6224d}.recriar-app .badge.bg-secondary{background:#eee3fa!important;color:#603c83}.recriar-app .badge.bg-primary,.recriar-app .badge.bg-info{background:#e0f0fe!important;color:#175b94}.recriar-app .badge.bg-white{color:#493064!important}.recriar-app .table{--bs-table-striped-bg:#faf7fd;--bs-table-hover-bg:#f3edf8;color:#302346;font-size:.9rem}.recriar-app .table thead{background:#f4eef9;color:#6c527f}.recriar-app .table th{font-size:.75rem;font-weight:800;border-bottom-color:var(--recriar-line);padding:13px 10px}.recriar-app .table td{padding:13px 10px;border-color:#eee8f4}.recriar-app .page-link{border-color:var(--recriar-line);color:#493064}.recriar-app .page-item.active .page-link{background:#493064;border-color:#493064}.recriar-app dialog{color:var(--recriar-purple);border-radius:22px!important;box-shadow:0 20px 80px #2c235130!important}.recriar-app dialog::backdrop{background:#2c23515c;backdrop-filter:blur(3px)}.recriar-app details summary{cursor:pointer}.recriar-app .alert{border-radius:13px}.recriar-app .bg-primary{background-color:#493064!important}.recriar-app .border-primary{border-color:#c1a6d4!important}
.recriar-app .popup{border:1px solid var(--recriar-line);border-radius:22px;background:white;box-shadow:0 8px 32px #3023460d;font-family:inherit;max-width:520px;margin:45px auto;padding:30px}.recriar-app .popup h2{color:var(--recriar-purple)}.recriar-app .popup input{border:1px solid #daccdf;border-radius:10px;padding:12px;max-width:100%;margin:7px 0 16px}.recriar-app .popup button{background:#493064;color:white;border:0;border-radius:12px;padding:12px 24px;font-weight:800}
body.recriar-login{padding:0;display:grid;place-items:center;min-height:100vh;background:radial-gradient(ellipse at 5% 0%,#fff1d6 0,transparent 35%),radial-gradient(ellipse at 95% 100%,#ebdff6 0,transparent 50%),#fcfafc}.recriar-login-card{width:min(1040px,calc(100% - 48px));display:grid;grid-template-columns:1fr 1fr;margin:40px auto;border:1px solid #eadff0;border-radius:30px;background:white;box-shadow:0 20px 80px #2c235110;overflow:hidden}.recriar-login-form{padding:50px 48px}.recriar-login-logo{display:block;width:220px;max-width:85%;height:auto;margin:0 auto 36px}.recriar-login-form h1{font-size:2rem;font-weight:900;margin-bottom:12px}.recriar-login-form>p{color:#776b85;line-height:1.7;margin-bottom:30px}.recriar-login-form .btn-primary{border-radius:30px;width:100%;padding:13px}.recriar-login-form .form-control{min-height:49px}.recriar-login-form .form-label{font-size:.9rem}.recriar-password{position:relative}.recriar-password .form-control{padding-right:76px}.recriar-password button{position:absolute;right:7px;top:7px;border:0;border-radius:8px;background:#f2edf7;color:#493064;font-size:.75rem;padding:8px}.recriar-login-art{position:relative;overflow:hidden;background:linear-gradient(150deg,#372754,#503267);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:56px 44px}.recriar-login-art h2{font-size:2.4rem;line-height:1.2;color:white;font-weight:900;position:relative;z-index:1}.recriar-login-art p{color:#e3d5ee;font-size:1rem;line-height:1.8;position:relative;z-index:1;max-width:320px}.recriar-login-art:after{content:'';width:580px;height:210px;background:#85649d;border-radius:50%;position:absolute;bottom:-120px;left:-50px;transform:rotate(-12deg)}.recriar-login-art:before{content:'';position:absolute;width:230px;height:230px;border:1px dashed #d8b950;border-radius:50%;top:-90px;right:-80px}.recriar-color-dots{display:flex;gap:9px;margin-bottom:28px}.recriar-color-dots span{width:12px;height:12px;border-radius:50%;background:#eda918}.recriar-color-dots span:nth-child(2){background:#cf3869}.recriar-color-dots span:nth-child(3){background:#24a0e7}.recriar-login-art .recriar-art-caption{margin-top:35px;font-size:.73rem;letter-spacing:.12em;font-weight:800;color:#e1d2ed}.recriar-login-footer{font-size:.75rem;color:#8d7d99;margin-top:25px}.recriar-login-art svg{width:180px;height:180px;margin-bottom:22px;opacity:.9}
@media(min-width:1600px){body.recriar-app{padding-right:56px;padding-left:306px}.recriar-sidebar{width:260px}}
@media(max-width:1100px){body.recriar-app{padding-left:240px;padding-right:20px}.recriar-sidebar{width:220px;padding-left:12px;padding-right:12px}.recriar-account strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recriar-greeting>div{font-size:1.4rem}.recriar-app .list-group-item .d-flex.w-100{flex-wrap:wrap;gap:18px}.recriar-app .list-group-item .text-end{width:100%;text-align:left!important}}
@media(max-width:767px){body.recriar-app{padding:0 16px 30px}.recriar-sidebar{width:255px;transform:translateX(-100%);transition:transform .2s;box-shadow:15px 0 50px #30234625}.recriar-sidebar.is-open{transform:translateX(0)}.recriar-topbar{padding:20px 0;gap:12px}.recriar-menu-toggle{display:block;border:1px solid #daccdf;border-radius:10px;color:#493064;background:white;padding:8px 12px;font-size:1.2rem}.recriar-account>div{display:none}.recriar-greeting{flex:1}.recriar-greeting>div{font-size:1.15rem}.recriar-greeting p{font-size:.74rem}.recriar-avatar{width:35px;height:35px}.recriar-actions{justify-content:flex-start}.recriar-app .card-body{padding:17px}.recriar-app .card-header{padding:15px 17px}.recriar-app h1.h3{font-size:1.5rem}.recriar-skip{left:16px}.recriar-login-card{grid-template-columns:1fr;width:min(480px,calc(100% - 28px));margin:20px auto}.recriar-login-form{padding:32px 25px}.recriar-login-logo{width:190px;margin-bottom:28px}.recriar-login-art{padding:30px}.recriar-login-art h2{font-size:1.5rem}.recriar-login-art svg,.recriar-login-art .recriar-art-caption{display:none}.recriar-login-art p{font-size:.85rem;margin-bottom:0}.recriar-login-art:after{bottom:-180px}.recriar-login-form h1{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
body.recriar-public{padding:35px 20px;display:block}.recriar-public>main{max-width:680px;margin:auto}.recriar-public .container{max-width:100%}.recriar-app>main>.container{max-width:1440px;margin:auto}.recriar-app>main>.container-fluid{max-width:1440px;margin:auto}
.recriar-public-brand{max-width:190px;margin:0 auto 25px}.recriar-public-brand img{display:block;width:100%;height:auto}.recriar-app .list-group-item:has(.badge.bg-success){border-left-color:#79af52!important}.recriar-app .list-group-item:has(.badge.bg-warning){border-left-color:#eba719!important}.recriar-app .list-group-item:has(.badge.bg-danger){border-left-color:#bd2451!important}.recriar-app .list-group-item:has(.badge.bg-secondary){border-left-color:#9b76c2!important}body.recriar-app.bg-light{background-color:#fbf9fd!important}
:root{--bs-link-color-rgb:115,59,131;--bs-link-hover-color-rgb:165,30,72}.recriar-login-form a{color:#b12551}.recriar-login-art .recriar-art-caption{position:relative;z-index:1}
/* Cabeçalhos claros precisam manter o contraste mesmo com utilitários Bootstrap. */
.recriar-app .card-header.bg-primary {
  background: #f4eef9 !important;
  color: #2c2351 !important;
}
.recriar-app .card-header :is(h1, h2, h3, h4, h5, h6) {
  color: inherit !important;
}
.recriar-brand {
  background: transparent;
  box-shadow: none;
  padding: 8px 4px;
  border-radius: 0;
}

/* Uma faixa lavanda integrada dá contraste à marca original, sem cartão branco. */
.recriar-sidebar {
  background: linear-gradient(180deg,
    #f2ebf8 0,
    #e6d9f1 125px,
    #a386bd 155px,
    #503765 185px,
    #34264f 215px,
    #2c2351 70%,
    #513465 100%);
}
.recriar-brand {
  margin-bottom: 24px;
}

.recriar-topbar .recriar-actions { margin: 0 0 0 auto; flex-shrink: 0; }
@media(max-width: 1199px) {
  .recriar-topbar { flex-wrap: wrap; }
  .recriar-topbar .recriar-actions { order: 3; width: 100%; justify-content: flex-end; }
  .recriar-topbar .recriar-account { margin-left: auto; }
}
@media(max-width: 767px) {
  .recriar-topbar .recriar-actions { justify-content: flex-start; }
}
.recriar-calendar-weekdays, .recriar-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.recriar-calendar-weekdays { background: #f0e9f8; border-radius: 12px 12px 0 0; }
.recriar-calendar-weekdays span { padding: 12px 4px; text-align: center; font-size: .72rem; font-weight: 800; }
.recriar-calendar-grid { border-top: 1px solid var(--recriar-line); border-left: 1px solid var(--recriar-line); }
.recriar-calendar-day { min-height: 125px; padding: 7px; border-right: 1px solid var(--recriar-line); border-bottom: 1px solid var(--recriar-line); background: #fff; min-width: 0; }
.recriar-calendar-day.fora-mes { background: #faf7fc; }
.recriar-calendar-day.fora-mes .recriar-calendar-date { color: #8b7a99; }
.recriar-calendar-date { display: flex; align-items: center; gap: 5px; margin-bottom: 7px; font-size: .75rem; }
.recriar-calendar-date .dia-numero { display: inline-grid; place-items: center; width: 26px; height: 26px; font-weight: 800; }
.recriar-calendar-date .dia-descricao { display: none; }
.dia-hoje .dia-numero { background: var(--recriar-pink); color: #fff; border-radius: 50%; }
.recriar-calendar-event { display: flex; flex-direction: column; gap: 2px; padding: 7px 6px; margin-top: 5px; border-radius: 8px; background: #f0e7f8; color: #493064; border-left: 3px solid #9b76c2; font-size: .66rem; text-decoration: none; overflow-wrap: anywhere; line-height: 1.45; }
.recriar-calendar-event:hover { outline: 2px solid #9b76c2; color: #493064; }
.recriar-calendar-event.evento-aceito { background: #edf5e8; border-left-color: #79af52; color: #36642d; }
.recriar-calendar-event.evento-pendente { background: #fff5de; border-left-color: #eba719; color: #765515; }
.recriar-calendar-event.evento-recusado { background: #fbeaf0; border-left-color: #bd2451; color: #9f2449; }
@media(max-width: 767px) {
  .recriar-calendar-weekdays { display: none; }
  .recriar-calendar-grid { display: block; border: 0; }
  .recriar-calendar-day { min-height: 0; border: 1px solid var(--recriar-line); border-radius: 12px; padding: 12px; margin-bottom: 12px; }
  .recriar-calendar-day.fora-mes, .recriar-calendar-day.dia-vazio:not(.dia-hoje) { display: none; }
  .recriar-calendar-date .dia-descricao { display: inline; }
  .recriar-calendar-event { font-size: .8rem; padding: 10px; }
}
.recriar-sidebar .recriar-nav-label { color: #f1e9fa; }

.recriar-sidebar .recriar-nav-label { margin-top: 22px; }
/* Avisos financeiros: informação discreta, ações críticas sempre visíveis. */
.recriar-notice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid #e2d8ed;
  border-radius: 14px;
  background: #f5f0fa;
  color: #493064;
  font-size: .86rem;
  line-height: 1.55;
}
.recriar-notice strong { display: block; font-weight: 800; }
.recriar-notice p, .recriar-notice small { margin: 3px 0 0; color: #6d5a7e; }
.recriar-notice small { display: block; font-size: .78rem; }
.recriar-notice-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; color: #644081; background: #e9def3; }
.recriar-notice-icon .recriar-icon { width: 19px; height: 19px; }
.recriar-notice-details { display: block; }
.recriar-notice-details summary { display: flex; align-items: flex-start; gap: 12px; list-style: none; }
.recriar-notice-details summary::-webkit-details-marker { display: none; }
.recriar-notice-details summary::after { content: '+'; font-size: 1.25rem; line-height: 1; margin: 7px 0 0 auto; flex-shrink: 0; }
.recriar-notice-details[open] summary::after { content: '−'; }
.recriar-notice-description { margin-top: 13px; padding-top: 13px; border-top: 1px solid #e2d8ed; color: #6d5a7e; }
.recriar-notice-success { background: #f0f7ec; border-color: #d6e5cb; color: #375d30; }
.recriar-notice-success p { color: #4d6a43; }
.recriar-notice-success .recriar-notice-icon { background: #e0edd8; color: #3a6531; }
.recriar-notice-warning { background: #fff8e8; border-color: #efdfb7; color: #795616; }
.recriar-notice-warning p { color: #80693b; }
.recriar-notice-warning .recriar-notice-icon { background: #faedc9; color: #886017; }
