/* JOERI client-only integration with the existing modules. */
.joeri-icon{width:21px;height:21px;flex:0 0 21px;display:inline-block;vertical-align:middle}
.theme-toggle .joeri-icon{width:19px;height:19px;flex-basis:19px}
html:not(.theme-dark) .theme-toggle .theme-sun,html.theme-dark .theme-toggle .theme-moon{display:none!important}
html.theme-dark .theme-toggle .theme-sun{display:inline-block!important}
body .theme-toggle{min-height:40px!important;min-width:40px;z-index:1050;padding:8px!important;cursor:pointer}
.guest-theme-toggle{position:fixed;right:16px;top:16px}
body.joeri-client-area{--primary-color:#3e4095;--secondary-color:#3e4095}
body.joeri-client-area .main-area,body.joeri-client-area .content-area,body.joeri-client-area .content-container{min-width:0}
body.joeri-client-area .content-container{width:100%;max-width:1320px}
body.joeri-client-area .joeri-checkout-shell{width:100%!important;max-width:100%!important;margin:0 auto!important;padding:0 0 24px!important}
body.joeri-client-area .joeri-public-invoice-page{width:100%!important;max-width:1180px!important;margin-inline:auto!important}
body.joeri-client-area.invoice-invoice #sidebar{display:flex!important}
body.joeri-client-area .guest-content{max-width:1180px;padding:72px 20px 30px;margin:auto;width:100%}
body .topbar-user{min-width:0;max-width:320px}

/* Logo compacta exibida apenas no cabeçalho mobile. */
body.joeri-client-area .mobile-brand{display:none;align-items:center;justify-content:flex-start;min-width:0;text-decoration:none}
body.joeri-client-area .mobile-brand img{display:block;width:auto;height:auto;max-width:118px;max-height:34px;object-fit:contain}
html.theme-dark body.joeri-client-area .mobile-brand img{filter:brightness(0) invert(1)}
body .topbar-user span{min-width:0}body .topbar-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
body .sidebar-nav .nav-link{font-weight:600!important;color:var(--muted)!important}
body .sidebar-nav .nav-link.active{color:var(--primary)!important}
body .sidebar-nav{flex:1;align-content:start}
body .logout-link{margin-top:0}
body.public-area input.form-control,body.public-area select,body.public-area textarea,
body.joeri-client-area input.form-control,body.joeri-client-area select,body.joeri-client-area textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;float:none!important}
body.public-area label:not(.form-check-label),body.joeri-client-area label:not(.form-check-label){display:block;float:none;width:auto;text-align:left}
body.public-area fieldset,body.joeri-client-area fieldset{border:0;margin:0;padding:0;min-width:0}
body.public-area .controls,body.joeri-client-area .controls{margin-left:0!important;min-width:0}
body.public-area .form-check{display:flex;align-items:center;gap:8px;padding-left:0;margin:14px 0}
body.public-area .form-check-input{float:none;margin:0;width:17px;height:17px;flex:0 0 17px}
body.public-area .form-check-label{margin:0}
body.public-area .auth-card{width:100%;max-width:430px}
body.public-area section[role=main]{padding:60px 16px 32px!important;min-height:100vh;display:flex;align-items:center;justify-content:center}
body.public-area section[role=main]>.container{width:100%;max-width:480px!important;margin:auto;padding:0}
body.public-area.page-signup section[role=main]>.container{max-width:620px!important}
body.public-area section[role=main]>.container>.text-center{margin-bottom:22px!important}
body.public-area section[role=main]>.container>.text-center img{max-width:150px!important;max-height:58px;object-fit:contain}
body.public-area .card-body>.data-block{border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible}
body.public-area .card-body{padding:26px!important}
body.public-area .login-footer{padding:0;display:flex;justify-content:center;gap:20px;list-style:none;text-align:center}
body.public-area .login-footer li{margin:0;font-size:13px}
body.public-area .form-actions .btn{width:100%!important}
body.public-area .control-group{margin-bottom:14px}
body.public-area .auth-title,body.public-area h4{font-size:22px!important;line-height:1.3}
body.joeri-client-area .btn.bg-secondary,body.joeri-client-area .btn.bg-primary,body.joeri-client-area .btn-primary,body.joeri-client-area .btn-info,body.public-area .btn-primary{background:#3e4095!important;border:1px solid #3e4095!important;color:#fff!important;border-radius:8px!important;box-shadow:none!important}
body.joeri-client-area .btn.bg-secondary *,body.joeri-client-area .btn.bg-primary *,body.joeri-client-area .btn-primary *,body.public-area .btn-primary *{color:inherit!important}
body.joeri-client-area .btn.bg-secondary:hover,body.joeri-client-area .btn-primary:hover,body.public-area .btn-primary:hover{background:#30327b!important;border-color:#30327b!important}
body.joeri-client-area .color-white{color:#fff!important}
body.joeri-client-area .btn-outline-success{color:var(--primary)!important;border-color:var(--primary)!important;background:transparent!important}
body.joeri-client-area .btn-outline-success:hover{background:#3e4095!important;color:#fff!important}
body.joeri-client-area #profile-update .row{display:flex;flex-wrap:wrap;margin-inline:-9px}
body.joeri-client-area #profile-update .row>[class*=col-]{padding-inline:9px;min-width:0;flex:1 1 260px;max-width:100%}
body.joeri-client-area #profile-update .form-group{margin-bottom:16px}
body.joeri-client-area .h-user-photo-wrapper{padding:12px;margin-bottom:18px}
body.joeri-client-area .h-user-photo-wrapper img{width:96px!important;height:96px!important;object-fit:cover}
body.joeri-client-area .ticket-inline{margin-top:22px;scroll-margin-top:82px;display:block;position:static;width:100%;height:auto;opacity:1}
body.joeri-client-area .ticket-inline .modal-body{padding:18px}
body.joeri-client-area .ticket-inline .modal-header,body.joeri-client-area .ticket-inline .modal-footer{padding:16px 18px;border-color:var(--line);display:flex;align-items:center}
body.joeri-client-area .ticket-inline .modal-footer{justify-content:flex-end}
body.joeri-client-area .ticket-inline .modal-title{font-size:17px!important}
body.joeri-client-area .note-toolbar .btn{min-height:30px;padding:4px 8px}
body.joeri-client-area .note-editor{max-width:100%}
html.theme-dark body .card,html.theme-dark body .card-page,html.theme-dark body .card-header,html.theme-dark body .card-footer,html.theme-dark body .card-body,html.theme-dark body .data-block,html.theme-dark body .note-toolbar,html.theme-dark body .note-editable{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
html.theme-dark body.joeri-client-area .content-container h1,html.theme-dark body.joeri-client-area .content-container h2,html.theme-dark body.joeri-client-area .content-container h3,html.theme-dark body.joeri-client-area .content-container h4,html.theme-dark body.joeri-client-area .content-container label{color:var(--ink)!important}
html.theme-dark body .table,html.theme-dark body table td{color:var(--ink)!important}
html.theme-dark body .notice-warning{color:#f4d07b}html.theme-dark body .notice-danger{color:#ffadb7}
@media(max-width:767px){body.joeri-client-area .mobile-brand{display:flex;margin-left:12px;margin-right:auto}body.joeri-client-area #profile-update .row>[class*=col-]{flex:0 0 100%;width:100%}body.public-area .auth-wrap{padding:64px 14px 24px}body.public-area .card-body{padding:20px!important}body .topbar-user strong{max-width:140px}body .topbar-actions{gap:8px}body.joeri-client-area .content-container h1{font-size:22px!important}body.joeri-client-area .content-container h2{font-size:18px!important}body.joeri-client-area .joeri-checkout-shell{padding:0!important}body.joeri-client-area .guest-content{padding:64px 12px 24px}body.joeri-client-area .ticket-inline .modal-title{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Legacy module icons use the local font; navigation uses SVG. */
.fa,.fas,.far{font-family:FontAwesome!important;font-style:normal;font-weight:normal;display:inline-block}
.fa-plus:before{content:'\f067'}.fa-user:before,.fa-user-cog:before{content:'\f007'}.fa-search:before{content:'\f002'}.fa-edit:before{content:'\f044'}.fa-trash:before,.fa-trash-alt:before{content:'\f014'}.fa-times:before{content:'\f00d'}.fa-check:before{content:'\f00c'}.fa-eye:before{content:'\f06e'}.fa-eye-slash:before{content:'\f070'}.fa-download:before{content:'\f019'}.fa-print:before{content:'\f02f'}.fa-envelope:before{content:'\f0e0'}.fa-lock:before{content:'\f023'}.fa-sign-out-alt:before{content:'\f08b'}.fa-circle:before{content:'\f111'}.fa-arrow-left:before{content:'\f060'}.fa-arrow-right:before{content:'\f061'}.fa-external-link-alt:before{content:'\f08e'}.fa-credit-card:before{content:'\f09d'}.fa-home:before{content:'\f015'}
body.joeri-client-area .joeri-checkout-shell #btn-next{background:#3e4095!important;color:white!important;box-shadow:none!important;border-radius:8px!important}
body.joeri-client-area .joeri-checkout-shell .card-resumo,body.joeri-client-area .joeri-checkout-shell .card-resumo .card-header,body.joeri-client-area .joeri-checkout-shell .card-resumo .card-footer{background:var(--surface)!important;color:var(--ink)!important}
body.joeri-client-area .joeri-checkout-shell .card-resumo span,body.joeri-client-area .joeri-checkout-shell .card-resumo p,body.joeri-client-area .joeri-checkout-shell .card-resumo h4,body.joeri-client-area .joeri-checkout-shell .card-resumo strong{color:var(--ink)!important}
html.theme-dark body.joeri-client-area .joeri-checkout-shell{--jv2-ink:var(--ink);--jv2-muted:var(--muted);--jv2-border:var(--line)}
html.theme-dark body.joeri-client-area .joeri-checkout-steps-wrap,html.theme-dark body.joeri-client-area .joeri-checkout-assurances,html.theme-dark body.joeri-client-area .joeri-checkout-shell #btn-prev{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
html.theme-dark body.joeri-client-area .joeri-checkout-hero h1,html.theme-dark body.joeri-client-area .joeri-checkout-hero p{color:#fff!important}
html.theme-dark body.public-area section[role=main]>.container>.text-center img{filter:brightness(0) invert(1)}
body .ticket-inline .note-editor .note-editable{font-size:14px;line-height:1.6;min-height:200px}
@media(max-width:650px){body.joeri-client-area .joeri-checkout-hero{padding:20px!important;flex-wrap:wrap;gap:14px}body.joeri-client-area .joeri-checkout-hero h1{font-size:24px!important}body.joeri-client-area .joeri-checkout-hero p{font-size:12px!important}body.joeri-client-area .joeri-checkout-hero-side{min-width:0!important;width:100%!important}body.joeri-client-area .joeri-checkout-steps-wrap{padding:12px!important}}

@media(max-width:420px){body.joeri-client-area .mobile-brand{margin-left:9px}body.joeri-client-area .mobile-brand img{max-width:92px;max-height:30px}}
