:root{--navy:#052e66;--deep:#031f49;--blue:#0875e1;--bg:#f4f8fc;--border:#dce8f4;--text:#0b2852;--muted:#60758f;--shadow:0 5px 18px rgba(20,68,120,.07)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:.925rem}a{color:var(--blue)}
.brand-logo{display:inline-flex;align-items:center;gap:.65rem;color:var(--text);font-size:1.65rem;font-weight:750;text-decoration:none;letter-spacing:-.04em}.brand-logo:hover{color:inherit}.brand-logo-light{color:#fff}.brand-symbol{position:relative;display:inline-block;width:26px;height:34px}.brand-symbol i{position:absolute;display:block;width:14px;height:25px;border-radius:3px;transform:skewY(-31deg)}.brand-symbol i:first-child{left:1px;top:0;background:#168cff}.brand-symbol i:last-child{right:1px;bottom:0;background:#56b7ff;transform:skewY(31deg)}
.app-shell{min-height:100vh;display:flex}.app-sidebar{position:sticky;top:0;width:240px;height:100vh;flex:0 0 240px;color:#fff;background:linear-gradient(160deg,#073b79,var(--deep))}.sidebar-inner{min-height:100%;display:flex;flex-direction:column;padding:1.4rem 1rem}.sidebar-inner .brand-logo{padding:0 .65rem 1.4rem}.sidebar-nav{display:flex;flex-direction:column;gap:.28rem}.sidebar-nav a{display:flex;align-items:center;gap:.8rem;padding:.72rem .8rem;border-radius:8px;color:rgba(255,255,255,.82);text-decoration:none;transition:.18s}.sidebar-nav a i{width:20px;font-size:1.05rem;text-align:center}.sidebar-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}.sidebar-nav a.active{color:#fff;background:linear-gradient(90deg,#086ecf,#087ee9);box-shadow:0 5px 14px rgba(0,101,210,.28)}.sidebar-footer{margin-top:auto;padding:1rem .8rem 0;color:rgba(255,255,255,.58);font-size:.78rem}.app-workspace{min-width:0;flex:1}.app-topbar{min-height:70px;display:flex;align-items:center;gap:.8rem;padding:.75rem 2rem;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 9px rgba(20,68,120,.035)}.topbar-title{font-weight:700}.topbar-subtitle{font-size:.72rem;color:var(--muted)}.topbar-user{display:flex;align-items:center;gap:.65rem}.topbar-user b,.topbar-user small{display:block;line-height:1.2}.topbar-user b{font-size:.78rem}.topbar-user small{margin-top:.15rem;color:var(--muted);font-size:.68rem}.user-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#fff;background:var(--navy)}.sidebar-toggle{color:var(--navy);font-size:1.4rem}.app-content{width:100%;max-width:1500px;margin:0 auto;padding:1.75rem 2rem 3rem}.app-sidebar-mobile{color:#fff;background:linear-gradient(160deg,#073b79,var(--deep))}.admin-menu{display:none!important}
.public-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,36%) 1fr;background:#fff}.brand-panel{position:relative;display:flex;min-height:100vh;flex-direction:column;overflow:hidden;padding:3.5rem clamp(2rem,5vw,5rem);color:#fff;background:radial-gradient(circle at 80% 35%,#0d69be 0,transparent 33%),linear-gradient(155deg,#073d82,#032653 72%)}.brand-panel:after{position:absolute;right:-26%;bottom:-18%;width:78%;aspect-ratio:1;border-radius:24%;background:linear-gradient(135deg,rgba(11,143,255,.95),rgba(15,105,220,.16));content:"";transform:rotate(38deg)}.brand-panel>*{position:relative;z-index:1}.brand-message{margin-top:clamp(3rem,10vh,8rem)}.brand-message h2{max-width:410px;font-size:clamp(1.65rem,2.5vw,2.6rem);font-weight:750;line-height:1.2;letter-spacing:-.035em}.brand-message p{max-width:390px;margin-top:1.1rem;color:rgba(255,255,255,.75);font-size:1rem}.brand-benefits{display:grid;gap:1.2rem;margin:auto 0 1rem;padding:0;list-style:none}.brand-benefits li{display:flex;align-items:center;gap:.9rem}.brand-benefits i{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:10px;color:#7dccff;background:rgba(4,106,214,.28);font-size:1.15rem}.brand-benefits span{font-size:.87rem;line-height:1.25}.public-content{display:flex;min-width:0;align-items:center;justify-content:center;overflow:auto;padding:clamp(1.5rem,4vw,4rem);background:radial-gradient(circle at 90% 10%,#eaf5ff,transparent 32%),#fff}
.card{border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)!important}.card-header{border-bottom-color:var(--border);background:#f9fcff}.auth-card{width:100%;max-width:460px;border:0;box-shadow:none!important}.auth-card .card-body{padding:1rem!important}.auth-heading{margin-bottom:1.8rem}.auth-heading h1{margin-bottom:.4rem;font-size:1.7rem;font-weight:750;letter-spacing:-.025em}.auth-heading p{color:var(--muted)}.cadastro-card{width:100%;max-width:980px;border:0;box-shadow:none!important}.cadastro-card .card-body{padding:0!important}.cadastro-steps{display:flex;margin:1.4rem 0 2rem;padding:0;list-style:none}.cadastro-steps li{position:relative;flex:1;color:var(--muted);text-align:center;font-size:.7rem}.cadastro-steps li:not(:last-child):after{position:absolute;z-index:0;top:15px;left:58%;width:84%;height:2px;background:var(--border);content:""}.cadastro-steps span{position:relative;z-index:1;display:grid;width:31px;height:31px;margin:0 auto .4rem;place-items:center;border-radius:50%;color:var(--blue);background:#ddecfb;font-weight:700}.cadastro-steps li:first-child span{color:#fff;background:var(--blue)}.form-label{margin-bottom:.35rem;color:var(--text);font-size:.78rem;font-weight:650}.form-control,.form-select{min-height:42px;border-color:#cdddec;border-radius:7px;color:var(--text);background-color:#fbfdff;font-size:.88rem}.form-control:focus,.form-select:focus{border-color:#68adf3;box-shadow:0 0 0 .2rem rgba(8,117,225,.1)}.input-group-text{border-color:#cdddec;color:var(--blue);background:#f5faff}.btn{border-radius:7px}.btn-primary{border-color:var(--blue);background:linear-gradient(180deg,#0980ef,#0568d2)}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.page-heading h1{margin:0;font-size:1.65rem;font-weight:750;letter-spacing:-.025em}.page-heading p{margin:.3rem 0 0;color:var(--muted)}.table{--bs-table-bg:transparent;color:var(--text)}.table thead th{padding-top:.7rem;padding-bottom:.7rem;border-color:#dbe7f2;color:#35506e;background:#eaf3fc;font-size:.73rem;font-weight:700;white-space:nowrap}.table tbody td{padding-top:.75rem;padding-bottom:.75rem;border-color:#e6eef6;vertical-align:middle}.badge{border-radius:999px;font-weight:650}.dashboard-card{border-left:0!important}.dashboard-card .text-secondary{color:var(--muted)!important;font-size:.76rem}.dashboard-card .fs-4{color:var(--text);font-weight:750}.credit-stat{height:100%;padding:1rem;border:1px solid var(--border);border-radius:10px;background:#fff}.credit-stat .label{color:var(--muted);font-size:.72rem}.credit-stat .value{margin-top:.25rem;font-size:1.05rem;font-weight:750}.credit-stat i{color:var(--blue);font-size:1.35rem}.welcome-card{overflow:hidden;background:linear-gradient(110deg,#fff 60%,#e9f5ff)}.welcome-icon{display:grid;width:62px;height:62px;place-items:center;border-radius:16px;color:var(--blue);background:#e5f2ff;font-size:1.7rem}
@media(max-width:991.98px){.app-sidebar{display:none}.app-topbar{padding:.7rem 1rem}.app-content{padding:1.25rem 1rem 2rem}.public-shell{grid-template-columns:1fr}.brand-panel{min-height:auto;padding:1.3rem 1.5rem}.brand-panel .brand-message,.brand-panel .brand-benefits{display:none}.brand-panel:after{width:210px;right:-85px;bottom:-140px}.public-content{align-items:flex-start;padding:2rem 1.25rem}}
@media(max-width:575.98px){body{font-size:.875rem}.app-topbar{min-height:62px}.topbar-subtitle{display:none}.app-content{padding:1rem .75rem 2rem}.page-heading{flex-direction:column}.cadastro-steps li{font-size:0}.cadastro-steps li span{font-size:.7rem}.dashboard-cards .card-body{padding:.85rem}}
