/* Portal do Sócio — interface responsiva */
:root{--portal-ink:#17243b;--portal-muted:#718096;--portal-primary:#1455c0;--portal-primary-dark:#103f91;--portal-cyan:#10b7c8;--portal-bg:#f3f6fb;--portal-line:#e6ebf2;--portal-radius:20px;--portal-shadow:0 12px 34px rgba(24,47,82,.08)}
html{font-size:16px;scroll-behavior:smooth}body.hold-transition{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--portal-bg);color:var(--portal-ink)}
.main-sidebar{width:264px;background:linear-gradient(180deg,#112545 0%,#0d1b32 100%);box-shadow:8px 0 28px rgba(16,34,61,.12)}.main-sidebar .brand-link{height:88px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center}.main-sidebar .brand-link img{width:100%;max-width:214px;max-height:54px;object-fit:contain}.main-sidebar .sidebar{padding:14px 12px 24px;height:calc(100% - 88px)!important;overflow-y:auto}.sidebar-nav-label{margin:14px 12px 9px;color:#91a5c2;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.nav-sidebar .nav-item{margin:4px 0}.nav-sidebar .nav-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:13px;color:#d7e0ef;font-size:.91rem;font-weight:600;transition:background .2s,color .2s,transform .2s}.nav-sidebar .nav-link .nav-icon{margin:0;width:22px;font-size:1.02rem;color:#8fa6c6}.nav-sidebar .nav-link:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}.nav-sidebar .nav-link.active{background:linear-gradient(105deg,#2467d1,#168fc0);color:#fff;box-shadow:0 8px 20px rgba(17,116,197,.27)}.nav-sidebar .nav-link.active .nav-icon{color:#fff}.nav-sidebar .nav-link.nav-logout{color:#ffb8b8}.nav-sidebar .nav-link.nav-logout .nav-icon{color:#ff8585}
.main-header{height:76px;margin-left:264px;border:0;background:rgba(255,255,255,.9);box-shadow:0 4px 20px rgba(20,40,72,.045);padding:0 28px;display:flex;align-items:center}.main-header .nav-link{color:var(--portal-ink)}.portal-topbar-title{font-weight:750;font-size:.94rem}.portal-user-pill{display:flex;align-items:center;gap:9px;background:#f1f5fa;border-radius:999px;padding:8px 14px;color:#253754;font-weight:650;font-size:.88rem}.portal-user-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#dceafe;color:var(--portal-primary)}
.content-wrapper{margin-left:264px;background:var(--portal-bg);min-height:calc(100vh - 76px)}.content-header{padding:30px 32px 12px}.content-header h1{font-size:clamp(1.45rem,2vw,2rem);letter-spacing:-.04em;font-weight:800;color:var(--portal-ink)}.content-header .breadcrumb{font-size:.8rem;color:var(--portal-muted)}.content{padding:8px 32px 38px}.content>.container-fluid{padding:0}.main-footer{margin-left:264px;background:transparent;border:0;padding:12px 32px 24px;color:#8290a4;font-size:.8rem}.control-sidebar{display:none}
.card{border:1px solid rgba(225,232,242,.8);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);overflow:hidden;margin-bottom:22px}.card-header{padding:19px 22px;background:#fff;border-bottom:1px solid #edf1f6}.card-title{font-size:1.02rem;font-weight:750;color:var(--portal-ink);margin:0}.card-body{padding:22px}.card-header .fas,.card-header .far{color:var(--portal-primary);margin-right:8px}.card-tools .btn-tool{color:#75849a}.table{color:#33435c}.table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.055em;color:#738199;border-top:0;border-bottom:1px solid var(--portal-line);white-space:nowrap}.table td,.table th{padding:14px 15px;vertical-align:middle}.table-striped tbody tr:nth-of-type(odd){background:#f8fafe}.table-responsive{border-radius:12px}.form-control,.custom-select{height:auto;min-height:46px;border:1px solid #dce4ef;border-radius:12px;padding:10px 13px;color:var(--portal-ink);box-shadow:none}.form-control:focus,.custom-select:focus{border-color:#63a0ef;box-shadow:0 0 0 3px rgba(37,112,216,.12)}label{font-size:.87rem;font-weight:700;color:#43536c}.input-group-text{border-color:#dce4ef;background:#f6f8fc;border-radius:12px;color:#586982}.btn{min-height:42px;border-radius:12px;font-weight:700;padding:9px 16px}.btn-primary{background:linear-gradient(110deg,#1e61c8,#1687bd);border-color:#1e61c8;box-shadow:0 6px 14px rgba(30,97,200,.18)}.btn-primary:hover,.btn-primary:focus{background:var(--portal-primary-dark);border-color:var(--portal-primary-dark)}.btn-outline-primary{border-color:#9dbce8;color:var(--portal-primary)}.alert{border:0;border-left:4px solid #38a3e0;border-radius:14px;padding:16px 18px;box-shadow:0 5px 18px rgba(26,50,80,.05)}.alert-info{background:#eaf6ff;color:#225275}.alert-warning{background:#fff5dc;color:#7b5205;border-left-color:#f0ad28}.alert-danger{background:#fff0ef;color:#833733;border-left-color:#e35950}.alert-success{background:#e9f9f1;color:#246845;border-left-color:#2db777}.callout{border-radius:14px;padding:16px 18px;box-shadow:0 5px 16px rgba(29,48,75,.05);background:#fff}.callout h5,.callout h6{font-weight:750}.badge{border-radius:999px;padding:6px 10px;font-weight:750}.breadcrumb{background:transparent;padding:0;margin:0}.iframe-responsive{width:100%;min-height:560px;border:0;border-radius:14px;background:#fff}
.portal-page-intro{color:var(--portal-muted);margin:-3px 0 20px;font-size:.95rem}.portal-hero{position:relative;overflow:hidden;border:0;color:#fff;background:linear-gradient(115deg,#123d79 0%,#145fc2 56%,#10a9bc 100%);padding:30px;border-radius:24px;box-shadow:0 16px 38px rgba(20,89,175,.2);margin-bottom:22px}.portal-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-45px;top:-100px;background:rgba(255,255,255,.1)}.portal-hero h2{font-size:clamp(1.45rem,3vw,2.1rem);font-weight:800;letter-spacing:-.04em;margin:4px 0 8px}.portal-hero p{margin:0;max-width:650px;color:rgba(255,255,255,.84)}.portal-hero-kicker{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#c6f6fa}.portal-hero-icon{position:absolute;right:34px;bottom:22px;font-size:5.5rem;color:rgba(255,255,255,.18)}.portal-section-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 2px 14px}.portal-section-heading h2{font-size:1.08rem;font-weight:800;margin:0}.portal-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portal-shortcut{display:flex;align-items:center;gap:14px;min-height:106px;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--portal-line);box-shadow:0 8px 24px rgba(30,52,84,.045);color:var(--portal-ink);transition:transform .2s,box-shadow .2s;text-decoration:none!important}.portal-shortcut:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(30,52,84,.1);color:var(--portal-primary)}.portal-shortcut-icon{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;font-size:1.18rem}.icon-blue{background:#e8f1ff;color:#2164c4}.icon-cyan{background:#e2f9fa;color:#0696a8}.icon-orange{background:#fff0df;color:#d57a12}.icon-green{background:#e5f8ef;color:#21935e}.icon-violet{background:#f0ebff;color:#7753c8}.icon-red{background:#ffebea;color:#cc534d}.portal-shortcut strong{display:block;font-size:.92rem;font-weight:800;line-height:1.3}.portal-shortcut small{display:block;color:var(--portal-muted);margin-top:4px;font-size:.78rem}.portal-news-list{display:grid;gap:12px}.portal-news-item{display:flex;gap:13px;padding:14px;border:1px solid #edf1f6;border-radius:14px;background:#fff}.portal-news-date{flex:0 0 48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff0de;color:#c16d08;font-size:1.05rem}.portal-news-item a{font-weight:750;color:#263b5b;text-decoration:none}.portal-news-item a:hover{color:var(--portal-primary)}.portal-news-item time{display:block;margin-top:5px;color:#8a98aa;font-size:.78rem}
.mobile-dock{display:none}
/* Login and first access */
.portal-auth-page{min-height:100vh;margin:0;background:linear-gradient(135deg,#edf4ff 0%,#f5f8fc 47%,#e6f7f7 100%);display:grid;place-items:center;padding:24px}.portal-auth-layout{width:min(1080px,100%);min-height:630px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 25px 75px rgba(22,54,96,.16)}.portal-auth-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:46px;background:linear-gradient(150deg,#11294c,#1557a6 58%,#12a5b5);color:#fff;overflow:hidden}.portal-auth-brand:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-170px;bottom:-190px;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)}.portal-auth-logo{width:min(250px,80%);max-height:85px;object-fit:contain;object-position:left center}.portal-auth-brand h1{font-size:clamp(2rem,4vw,3rem);font-weight:850;letter-spacing:-.055em;line-height:1.08;margin:30px 0 14px}.portal-auth-brand p{max-width:410px;font-size:1.03rem;line-height:1.65;color:rgba(255,255,255,.82)}.portal-auth-benefit{position:relative;z-index:1;display:flex;align-items:center;gap:12px;font-size:.9rem;color:rgba(255,255,255,.86)}.portal-auth-benefit i{width:36px;height:36px;display:grid;place-items:center;background:rgba(255,255,255,.15);border-radius:12px}.portal-auth-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,62px)}.portal-auth-panel h2{font-size:1.7rem;font-weight:820;letter-spacing:-.04em;margin:0 0 7px}.portal-auth-subtitle{color:var(--portal-muted);margin-bottom:26px}.portal-auth-field{margin-bottom:16px}.portal-auth-field label{display:block;margin:0 0 7px}.portal-auth-input-wrap{position:relative}.portal-auth-input-wrap i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#8091a9}.portal-auth-input{width:100%;height:52px;border:1px solid #dce4ef;border-radius:14px;padding:12px 14px 12px 44px;outline:0}.portal-auth-input:focus{border-color:#63a0ef;box-shadow:0 0 0 3px rgba(37,112,216,.12)}.portal-auth-submit{width:100%;height:52px;border:0;border-radius:14px;background:linear-gradient(110deg,#1e61c8,#1687bd);color:#fff;font-weight:800;box-shadow:0 9px 18px rgba(30,97,200,.2)}.portal-auth-submit:hover{filter:brightness(.96)}.portal-auth-link{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:13px;border-radius:14px;background:#f0f6ff;color:#1856ad;font-weight:750;text-decoration:none}.portal-auth-link:hover{background:#e4efff;color:#12488f}.portal-auth-error{background:#fff0ef;color:#a23831;border-radius:12px;padding:12px 14px;margin:0 0 16px;font-weight:700}.portal-auth-foot{margin-top:24px;text-align:center;color:#9aa6b5;font-size:.78rem}.portal-auth-note{padding:13px 14px;border-radius:13px;background:#fff6e5;color:#805610;font-size:.83rem;margin-bottom:18px}.portal-auth-note i{color:#df8d16;margin-right:5px}
@media(max-width:991px){.main-sidebar{width:264px}.main-header,.content-wrapper,.main-footer{margin-left:0}.main-header{height:66px;padding:0 18px}.content-header{padding:24px 20px 8px}.content{padding:8px 20px 32px}.portal-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-hero-icon{font-size:4rem;right:20px}.main-sidebar .brand-link{height:78px}.main-sidebar .sidebar{height:calc(100% - 78px)!important}}
@media(max-width:767px){html{font-size:15px}.main-header{height:60px;padding:0 14px}.portal-topbar-title{font-size:.86rem}.portal-user-pill{padding:6px 9px;font-size:.78rem}.portal-user-avatar{width:27px;height:27px}.content-header{padding:20px 16px 6px}.content-header .breadcrumb{display:none}.content{padding:7px 14px 26px}.main-footer{padding:8px 16px 98px}.content-header h1{font-size:1.45rem}.card{border-radius:17px;margin-bottom:16px}.card-header{padding:16px}.card-body{padding:16px}.card-tools{display:none}.portal-hero{padding:23px 20px;border-radius:20px;margin-bottom:16px}.portal-hero p{max-width:86%;font-size:.9rem}.portal-hero-icon{font-size:3.1rem;right:14px;bottom:17px}.portal-section-heading{margin:23px 2px 12px}.portal-shortcuts{gap:10px}.portal-shortcut{min-height:102px;display:block;padding:13px;border-radius:16px}.portal-shortcut-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px;margin-bottom:10px}.portal-shortcut strong{font-size:.83rem}.portal-shortcut small{font-size:.72rem}.table{min-width:560px}.table td,.table th{padding:11px 10px}.form-control,.custom-select{min-height:48px}.mobile-dock{position:fixed;z-index:1050;display:grid;grid-template-columns:repeat(5,1fr);left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:66px;padding:6px 5px;border:1px solid rgba(222,230,240,.9);border-radius:19px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(22,42,72,.18);backdrop-filter:blur(14px)}.mobile-dock a,.mobile-dock button{border:0;background:transparent;color:#8290a4;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:.62rem;font-weight:750;border-radius:13px;min-width:0}.mobile-dock i{font-size:1.05rem}.mobile-dock .active{color:#1455c0;background:#eaf2ff}.portal-auth-page{padding:14px;place-items:start center}.portal-auth-layout{min-height:0;max-width:500px;grid-template-columns:1fr;border-radius:24px;margin:auto}.portal-auth-brand{min-height:195px;padding:23px 25px 20px}.portal-auth-logo{width:160px;max-height:53px}.portal-auth-brand h1{font-size:1.55rem;margin:22px 0 6px}.portal-auth-brand p{font-size:.86rem;margin:0;max-width:320px}.portal-auth-benefit{display:none}.portal-auth-panel{padding:24px 22px 26px}.portal-auth-panel h2{font-size:1.45rem}.portal-auth-subtitle{margin-bottom:19px}.portal-auth-foot{margin-top:16px}.portal-auth-note{font-size:.78rem}}
@media(max-width:360px){.portal-shortcuts{grid-template-columns:1fr}.portal-shortcut{display:flex;align-items:center;min-height:80px}.portal-shortcut-icon{margin:0}.mobile-dock{left:6px;right:6px}.mobile-dock a,.mobile-dock button{font-size:.58rem}}

.portal-auth-input{font-size:16px}

.card-header .input-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px!important}.card-header .input-group-prepend{margin-left:0!important}.card-header .input-group-prepend .input-group-text{border-radius:12px}.card-header .input-group>.form-control{flex:1 1 150px;min-width:125px;width:auto}.card-header .input-group input[type=button]{flex:0 0 auto}
@media(max-width:767px){.iframe-responsive{min-height:68vh}.card-header .input-group{align-items:stretch}.card-header .input-group-prepend{flex:0 0 auto}.card-header .input-group>.form-control{flex:1 1 130px}.card-header .input-group input[type=button]{flex:1 1 100%;width:100%}}

body.portal-auth-page{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--portal-ink)}.portal-auth-submit i{margin-right:9px}

/* Menu móvel como gaveta: mantém o conteúdo no enquadramento e usa a área externa para fechar. */
.portal-menu-backdrop{display:none}
.portal-menu-close{display:none}
@media(max-width:991.98px){
  body{overflow-x:hidden}
  .main-sidebar,.main-sidebar::before{width:min(280px,calc(100vw - 52px))!important}
  .main-sidebar{z-index:1038!important}
  body.sidebar-open .main-header,body.sidebar-open .content-wrapper,body.sidebar-open .main-footer{transform:none!important;margin-left:0!important}
  body.sidebar-open .portal-menu-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(9,22,40,.48);z-index:1037}
  body.sidebar-open .mobile-dock{display:none}
  .portal-menu-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:0;border-radius:12px;background:rgba(255,255,255,.12);color:#fff}
  .main-sidebar .brand-link img{max-width:190px}
}

.main-sidebar .brand-link>a{display:flex;align-items:center;flex:1;min-width:0}.main-sidebar .brand-link>a img{width:100%}

/* Espaço seguro entre a navegação lateral e o conteúdo principal. */
.content-header{padding-left:clamp(28px,3vw,44px);padding-right:clamp(28px,3vw,44px)}
.content-wrapper>.content{box-sizing:border-box;padding:18px clamp(28px,3vw,44px) 44px}
.content-wrapper>.content>.container-fluid{width:100%;max-width:1680px;margin:0 auto;padding:0}
.content-wrapper>.content>.col-md-12{padding-left:0;padding-right:0}
@media(max-width:991.98px){.content-header{padding-left:24px;padding-right:24px}.content-wrapper>.content{padding:12px 24px 36px}}
@media(max-width:767px){.content-header{padding:20px 18px 6px}.content-wrapper>.content{padding:8px 18px 30px}.content-wrapper>.content>.container-fluid{max-width:none}}

/* O AdminLTE esconde a gaveta com -250px; como a nossa mede 280px, esconda os 280px completos. */
@media(max-width:991.98px){
  .main-sidebar,.main-sidebar::before{margin-left:-280px!important}
  body.sidebar-open .main-sidebar,body.sidebar-open .main-sidebar::before{margin-left:0!important}
}
