:root{--nav:#0c213c;--nav2:#07192e;--bg:#f5f8fa;--ink:#17293d;--muted:#728092;--border:#e6ebee;--green:#14835b;--green2:#0c6b4a;--greenlight:#e6f6ee;--white:#fff;--shadow:0 8px 32px rgba(10,42,52,.035);font-family:'Segoe UI',Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:272px;flex-shrink:0;background:linear-gradient(170deg,var(--nav),var(--nav2));color:#fff;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:10;transition:width .22s}.brand{padding:31px 20px 29px;display:flex;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid rgba(255,255,255,.07)}.brand-link{display:flex;gap:10px;align-items:center;min-width:0}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#6ce1ae;flex-shrink:0}.brand-mark svg{width:35px;height:35px}.brand-copy{display:flex;flex-direction:column;white-space:nowrap;gap:2px}.brand-copy strong{font-size:17px;letter-spacing:-.7px;font-family:'Segoe UI',Arial,sans-serif}.brand-copy small{font-size:8px;color:#91a9bd;letter-spacing:1.7px;font-weight:800}.sidebar-mini{border:0;background:rgba(255,255,255,.065);border-radius:7px;width:28px;height:28px;color:#b3c5d2;flex-shrink:0}.sidebar-mini:hover{color:#fff}.nav-caption{font-weight:800;letter-spacing:1.8px;font-size:9px;color:#6f8ca5;padding:30px 27px 12px}.nav-caption-second{padding-top:24px}.nav-menu{display:flex;flex-direction:column;gap:5px;padding:0 12px}.nav-link{display:flex;gap:14px;align-items:center;padding:13px 13px;color:#a3b8c9;border-radius:9px;font-weight:600;font-size:13px;white-space:nowrap;transition:.18s}.nav-link:hover{background:rgba(255,255,255,.07);color:white}.nav-link.active{color:#fff;background:linear-gradient(90deg,#137952,#12594a);box-shadow:0 5px 20px rgba(0,0,0,.12)}.nav-icon{font-size:21px;width:25px;display:inline-grid;place-items:center;line-height:1}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:21px 25px}.side-version{font-weight:800;letter-spacing:1.3px;font-size:9px;color:#7ba2ab}.side-version-small{font-size:10px;color:#5f819a}.main-wrap{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:83px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--border);gap:20px}.breadcrumb{color:#8995a2;font-size:12px}.breadcrumb span{padding:0 11px;color:#cad1d7}.breadcrumb strong{color:#2c3c4b}.top-actions{display:flex;align-items:center;gap:10px}.user-avatar{width:34px;height:34px;border-radius:50%;background:#e1f5ea;display:grid;place-items:center;color:#137451;font-weight:800}.user-label{font-size:12px;font-weight:700}.logout-form{margin-left:16px}.logout-button{color:#6c7786;background:transparent;border:1px solid #dce3e8;border-radius:7px;padding:8px 12px;font-size:12px}.logout-button:hover{color:#bb3d3d}.content{width:100%;max-width:1540px;margin:0 auto;padding:42px 40px 55px;flex:1}.app-footer{color:#9ba4ad;text-align:center;font-size:11px;padding:0 25px 23px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:31px}.section-kicker{font-size:10px;font-weight:800;color:#16805a;letter-spacing:1.9px}.page-heading h1{font-family:'Segoe UI',Arial,sans-serif;letter-spacing:-1.3px;font-size:30px;line-height:1.25;margin:9px 0;color:#162f42}.page-heading p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.7}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;border-radius:9px;padding:12px 17px;font-weight:800;font-size:12px;transition:.2s}.button-primary{background:var(--green);color:#fff;box-shadow:0 4px 12px rgba(14,117,80,.1)}.button-primary:hover{background:var(--green2)}.button-primary:disabled{opacity:.6;cursor:wait}.button-outline{border-color:#dce5e8;color:#34495b;background:#fff}.button-outline:hover{background:#eef6f2;border-color:#c5e0d0}.status-banner{display:flex;align-items:center;gap:16px;padding:21px 24px;border:1px solid #d8ebe0;background:#f0faf4;border-radius:13px;margin-bottom:25px}.status-warn{background:#fffbef;border-color:#f5e9c4}.status-dot{width:10px;height:10px;border-radius:50%;background:#16a676;box-shadow:0 0 0 5px #d6f3e4;display:inline-block;flex-shrink:0}.status-warn .status-dot,.amber-label .status-dot{background:#c68a21;box-shadow:0 0 0 5px #fff0cb}.status-banner strong{font-size:13px;color:#234c37}.status-warn strong{color:#7c5a19}.status-banner p{margin:4px 0 0;color:#68836f;font-size:12px}.status-warn p{color:#8f815d}.status-banner a{margin-left:auto;font-size:12px;font-weight:800;color:#14805a;white-space:nowrap}.status-banner a span{margin-left:8px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.quick-card{border:1px solid #e4ebea;background:#fff;border-radius:14px;min-height:267px;padding:29px 26px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow);transition:.22s}.quick-card:hover{border-color:#b3d8c7;box-shadow:0 15px 36px rgba(15,81,58,.075);transform:translateY(-2px)}.quick-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:12px;font-size:26px;margin-bottom:25px;font-weight:700}.quick-icon.green{background:#e5f8ed;color:#12865c}.quick-icon.blue{background:#e8f1fb;color:#3b75b2}.quick-icon.aqua{background:#e6f8f7;color:#109586}.quick-tag{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#72919a}.quick-card h2{font-size:17px;letter-spacing:-.4px;font-family:'Segoe UI',Arial,sans-serif;margin:8px 0}.quick-card p{color:#788795;font-size:12px;line-height:1.8;margin:0 0 25px}.quick-link{color:#16825a;font-size:12px;font-weight:800;margin-top:auto}.info-panel{display:flex;align-items:flex-start;gap:17px;background:#fff;border:1px solid #e5ecee;border-radius:12px;padding:21px 24px;margin-top:24px}.info-symbol{height:27px;width:27px;display:grid;place-items:center;border-radius:50%;background:#e8f3f5;color:#287c98;font-weight:800;flex-shrink:0}.info-panel strong{font-size:13px}.info-panel p{line-height:1.75;margin:5px 0 0;color:#758592;font-size:12px}.foot-note{margin-top:25px;font-size:11px;color:#9aa5ab;overflow-wrap:anywhere}.foot-note code{background:#edf0f2;border-radius:4px;padding:4px 6px;color:#607482}.panel{background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.panel-header{padding:25px 28px 23px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #edf1f2}.panel-icon{height:45px;width:45px;border-radius:11px;background:#e9f8ef;color:#147b56;display:grid;place-items:center;font-size:23px}.panel-header h2{font-family:'Segoe UI',Arial,sans-serif;font-size:15px;letter-spacing:-.3px;margin:0 0 5px}.panel-header p{color:#8a97a0;font-size:12px;margin:0}.search-form{padding:28px}.form-grid{display:grid;gap:19px;margin-bottom:22px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field label{display:block;font-weight:700;font-size:12px;color:#374a59;margin-bottom:9px}.field label em{font-style:normal;color:#e45c5c}.field-gap{margin-top:23px}.form-control{background:#fff;border:1px solid #dfe7e9;box-shadow:0 1px 2px rgba(10,50,60,.015);width:100%;border-radius:8px;outline:0;color:#293e4c;min-height:44px;padding:10px 12px;font-size:13px}.form-control::placeholder{color:#afbac2}.form-control:focus{border-color:#44ab84;box-shadow:0 0 0 3px #e6f6ee}.short-grid{margin-bottom:9px}.field-hint{display:block;font-size:11px;color:#97a1ad;line-height:1.6;margin-top:8px}.form-bottom{border-top:1px solid #edf1f3;margin-top:25px;padding-top:23px;display:flex;gap:20px;align-items:center;justify-content:space-between}.form-bottom>span{color:#96a2ac;font-size:11px}.form-bottom .button{min-width:168px}.validation-summary:empty,.validation-summary-valid{display:none}.validation-summary ul{margin:0 0 17px;padding:12px 20px 12px 32px;color:#993d3c;background:#fff3f2;border:1px solid #f3dad7;border-radius:7px;font-size:12px}.alert{padding:18px 21px;border-radius:10px;margin:18px 0;font-size:13px;line-height:1.65}.alert p{margin:6px 0 0}.alert-error{background:#fff4f1;border:1px solid #f6d9d1;color:#a04d40}.alert-info{background:#f0f7fb;border:1px solid #dcebf2;color:#4a6d80}.alert-success{background:#eaf7ef;border:1px solid #cbe6d5;color:#1a7448}.result-section{margin-top:27px;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow);overflow:hidden}.result-bar{padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.result-bar h2{font-size:17px;letter-spacing:-.4px;font-family:'Segoe UI',Arial,sans-serif;margin:6px 0}.result-bar p{margin:0;color:#91a0a9;font-size:12px}.btn-group{display:flex;gap:9px;flex-wrap:wrap}.result-metrics{display:flex;gap:14px;flex-wrap:wrap;padding:13px 28px;background:#f8fafb;border-top:1px solid #edf1f3;color:#7f8d98;font-size:12px}.result-metrics b{color:#196e51}.data-scroll{overflow:auto;max-height:620px}.data-table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.data-table thead th{background:#eef5f3;text-align:left;color:#2a5c4a;font-weight:800;padding:13px 17px;position:sticky;top:0;border-bottom:1px solid #dfe9e5}.data-table td{padding:12px 17px;border-top:1px solid #eef1f3;max-width:280px;overflow:hidden;text-overflow:ellipsis}.data-table tbody tr:hover{background:#f6fbf8}.json-details{border-top:1px solid #edf1f2}.json-details summary{padding:17px 28px;cursor:pointer;color:#3e596a;font-weight:700;font-size:12px}.json-details summary span{float:right}.json-pre{margin:0;padding:18px 28px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;background:#f6f8fa;color:#304558;font-size:11px;line-height:1.65}.empty-result{text-align:center;display:flex;flex-direction:column;align-items:center;padding:35px;color:#627786;gap:9px}.empty-result .empty-glyph{font-size:26px;color:#7eb6a3}.empty-result small{color:#99a7af}.pagination-row{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#788996;font-size:12px}.settings-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:23px;align-items:start}.settings-side{display:grid;gap:17px}.settings-status,.settings-note{border-radius:12px;border:1px solid var(--border);background:#fff;padding:24px}.status-label{margin-top:18px;display:flex;align-items:center;gap:14px;font-weight:800;font-size:12px}.green-label{color:#138455}.amber-label{color:#ad7925}.settings-side p{color:#82909c;font-size:12px;line-height:1.8;margin:14px 0 0}.settings-side code{font-size:11px;overflow-wrap:anywhere}.settings-note h3{font-size:14px;margin:0 0 12px}.checkbox-line{display:flex;gap:9px;align-items:center;margin-top:21px;font-size:12px;color:#6f7f8c;cursor:pointer}.checkbox-line input{accent-color:#14835b}.mini .sidebar{width:75px}.mini .brand{padding-left:15px;padding-right:15px;flex-direction:column;gap:10px}.mini .brand-copy,.mini .nav-caption,.mini .nav-text,.mini .side-bottom{display:none}.mini .nav-menu{padding:20px 10px 0}.mini .nav-link{justify-content:center;padding:13px 9px}.mini .sidebar-mini{width:32px;height:24px}.mini .nav-icon{font-size:23px}.mobile-menu{display:none}.menu-shade{display:none}.login-body{background:white}.login-layout{display:grid;grid-template-columns:51% 49%;min-height:100vh}.login-cover{position:relative;padding:46px 62px;overflow:hidden;background:linear-gradient(130deg,#0d2b4a,#071a32 73%);color:white;display:flex;flex-direction:column}.login-brand{display:flex;gap:10px;align-items:center;font-family:'Segoe UI',Arial,sans-serif;font-size:20px;letter-spacing:-.6px;position:relative;z-index:1}.login-brand .brand-mark{font-size:37px;color:#60deb0}.login-cover-copy{position:relative;z-index:1;margin:auto 0;max-width:610px}.login-eyebrow{font-size:11px;color:#65cca4;font-weight:800;letter-spacing:2.3px}.login-cover-copy h1{font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(28px,3.5vw,51px);letter-spacing:-2.2px;line-height:1.2;font-weight:800;margin:23px 0}.login-cover-copy h1 em{font-style:normal;color:#68dcac}.login-cover-copy p{font-size:14px;line-height:2;color:#a7bccd;max-width:460px}.cover-rule{height:1px;width:140px;background:linear-gradient(90deg,#32aa80,transparent);margin:47px 0 24px}.cover-caption{font-size:12px;letter-spacing:.4px;color:#9eb7c8}.cover-caption span{margin:0 10px}.cover-shape{position:absolute;border:1px solid rgba(110,192,179,.12);border-radius:50%;pointer-events:none}.shape-one{width:680px;height:680px;right:-310px;bottom:-310px}.shape-two{width:450px;height:450px;right:-240px;bottom:-225px}.login-form-side{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:50px 45px}.login-card{width:100%;max-width:405px;margin:auto}.login-kicker{font-size:11px;font-weight:800;color:#0e8d5b;letter-spacing:1.7px}.login-card h2{font-size:29px;letter-spacing:-1px;color:#122c41;font-family:'Segoe UI',Arial,sans-serif;margin:17px 0 8px}.login-card>p{font-size:13px;color:#93a0aa;margin:0 0 38px}.login-card .field label{font-size:12px}.login-card .form-control{height:49px}.login-submit{margin-top:28px;width:100%;min-height:49px;justify-content:space-between;font-size:13px;padding:12px 20px}.login-help{margin-top:27px;text-align:center;color:#a2adb4;font-size:11px}.login-copyright{color:#a2afb8;font-size:11px;margin-top:25px}.simple-body{min-height:100vh;display:grid;place-items:center}.simple-card{background:white;border-radius:12px;padding:35px;box-shadow:var(--shadow)}.simple-card p{color:#7b8995}.simple-card .button{margin-top:15px}
@media(max-width:1200px){.content{padding:32px 26px}.quick-grid{gap:12px}.quick-card{padding:24px 20px}.sidebar{width:240px}.topbar{padding:0 25px}}@media(max-width:950px){.quick-grid{grid-template-columns:1fr 1fr}.quick-grid .quick-card:last-child{grid-column:span 2}.form-grid.three{grid-template-columns:1fr 1fr}.settings-layout{grid-template-columns:1fr}.login-cover{padding:40px}}@media(max-width:750px){.sidebar{position:fixed;top:0;bottom:0;left:0;transform:translateX(-110%);width:270px;transition:transform .2s}.mobile-open .sidebar{transform:translateX(0)}.menu-shade{position:fixed;inset:0;background:rgba(7,25,42,.5);z-index:9}.mobile-open~.menu-shade{display:block}.mini .sidebar{width:270px}.mini .brand{padding:31px 20px 29px;flex-direction:row}.mini .brand-copy,.mini .nav-caption,.mini .nav-text,.mini .side-bottom{display:flex}.mini .nav-menu{padding:0 12px}.mini .nav-link{justify-content:flex-start;padding:13px}.mobile-menu{display:inline-flex;background:none;border:0;font-size:21px;color:#194456}.topbar{height:68px;padding:0 17px}.breadcrumb{margin-right:auto}.user-label{display:none}.logout-form{margin-left:0}.content{padding:24px 16px 40px}.page-heading h1{font-size:24px}.page-heading{align-items:flex-start;flex-direction:column}.quick-grid{grid-template-columns:1fr}.quick-grid .quick-card:last-child{grid-column:span 1}.quick-card{min-height:230px}.form-grid.three,.form-grid.two{grid-template-columns:1fr;gap:15px}.form-grid{margin-bottom:15px}.panel-header{padding:20px}.search-form{padding:20px}.form-bottom{align-items:stretch;flex-direction:column}.result-bar{align-items:flex-start;flex-direction:column}.status-banner{flex-wrap:wrap}.status-banner a{margin-left:27px}.login-layout{grid-template-columns:1fr}.login-cover{min-height:200px;padding:27px 28px}.login-cover-copy{margin:28px 0 0}.login-cover-copy h1{font-size:25px;margin:10px 0}.login-cover-copy p,.cover-rule,.cover-caption{display:none}.login-form-side{padding:45px 27px 26px}.login-card{margin:0 auto}.login-copyright{margin-top:40px}.pagination-row{flex-wrap:wrap}}

/* DC Portal de Consultas v2 — extensões de layout */
:root{--portal-navy:#071f39;--portal-blue:#123453;--portal-green:#187650}
.brand-mark{font-weight:900;letter-spacing:-2px;font-size:17px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0}
.metric-card{border:1px solid #e6eaf0;border-radius:14px;background:#fff;padding:26px 24px;box-shadow:0 8px 28px #172d4610}
.metric-card small{display:block;font-weight:800;letter-spacing:1px;color:#748398;font-size:10px}
.metric-card strong{display:block;font-size:35px;line-height:1.5;color:#133754}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.permission-item{border:1px solid #dce6ed;background:#f8fafc;border-radius:10px;padding:16px;display:flex;align-items:center;gap:12px;min-height:73px}
.permission-item input{accent-color:#187650;width:18px;height:18px}
.permission-item span{display:block;flex:1}
.permission-item strong{display:block;color:#1a3448}
.permission-item small{display:block;color:#718093;font-size:12px;margin-top:5px}
.state{display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.3px;border-radius:20px;padding:6px 10px}
.state.on{background:#e2f6ec;color:#117348}.state.off{background:#f1f3f5;color:#6e7888}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.detail-list{display:grid;grid-template-columns:140px 1fr;gap:14px;margin-top:22px}.detail-list dt{font-weight:800;color:#667789}.detail-list dd{margin:0;overflow-wrap:anywhere}
.link-output{display:flex;gap:10px;align-items:center;margin:20px 0}.link-output input{min-width:0;flex:1}
.soft-divider{border:0;border-top:1px solid #e4eaf0;margin:30px 0}
.checkbox-line{display:flex;align-items:center;gap:10px;padding-top:11px;font-weight:600}.checkbox-line input{width:18px;height:18px;accent-color:#187650}
.field-end{display:flex;justify-content:flex-end;align-items:flex-end;padding-bottom:4px}
.url-small{display:block;word-break:break-all;color:#8390a0;font-size:12px;margin:12px 0 18px}
.help-text,.access-help{color:#7b899a;font-size:13px;line-height:1.6}.danger-outline{color:#a63333!important;border-color:#d7b1b1!important;margin-top:15px}
.alert-success{background:#e5f7ee;color:#176647;border:1px solid #a7e0c3}
.public-body{background:linear-gradient(110deg,#071e36 0%,#0f2f4f 59%,#f6f8fa 59%,#f6f8fa 100%);min-height:100vh;color:#fff;display:flex;flex-direction:column}
.public-shell{max-width:1190px;width:100%;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:50px;padding:55px 26px;align-items:center}
.public-brand{grid-column:1/-1;display:flex;align-items:center;gap:16px}
.public-brand strong,.public-brand small{display:block}.public-brand strong{font-size:23px;letter-spacing:-.9px}.public-brand small{font-size:10px;letter-spacing:2px;color:#bdd4e4;margin-top:5px}
.public-mark{display:inline-grid;place-items:center;width:54px;height:54px;border:2px solid #2ab47c;border-radius:14px;background:#0d3554;color:#fff;font-size:20px;font-weight:900}
.public-hero h1{font-size:52px;max-width:570px;line-height:1.15;letter-spacing:-2px;margin:17px 0 20px;color:#fff}.public-hero p{max-width:500px;line-height:1.8;color:#c3d6e4;font-size:16px}
.public-tag{font-size:11px;letter-spacing:2.2px;color:#50d6a2;font-weight:800}.public-services{display:flex;gap:10px;margin-top:30px}.public-services span{border:1px solid #386783;color:#d6f0e7;padding:10px 18px;border-radius:22px;font-size:13px;font-weight:700}
.public-login,.auth-box{background:#fff;color:#233b51;border-radius:20px;padding:40px 35px;box-shadow:0 24px 55px #00000024}.public-login h2,.auth-box h1{font-size:27px;margin-bottom:10px}.public-login p,.auth-box p{color:#748398;line-height:1.6}.public-login label{font-size:13px;color:#465c70;font-weight:800;display:block;margin:24px 0 8px}.block-btn{display:block;width:100%;text-align:center;margin-top:16px}.public-footer{text-align:center;font-size:12px;padding:20px;color:#8aa5b9}.public-footer a{color:#0f6e4b;text-decoration:none}
.auth-box{max-width:445px;width:calc(100% - 32px);margin:auto}.auth-box .public-brand{color:#18374e;margin-bottom:33px}.auth-box .public-brand small{color:#527386}.auth-box .field{margin:20px 0}
.back-link{display:inline-block;color:#157657;font-weight:700;margin:17px 0;font-size:13px}
@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.public-body{background:#0c2b49}.public-shell{grid-template-columns:1fr;gap:20px}.public-brand{grid-column:1}.public-hero h1{font-size:38px}.public-login{padding:28px}.profile-grid{grid-template-columns:1fr}}
@media(max-width:590px){.metric-grid,.permission-grid{grid-template-columns:1fr}.link-output{flex-direction:column;align-items:stretch}.public-hero h1{font-size:34px}}

.panel > form{padding:25px 28px}.panel > h2{padding:25px 28px 0;margin:0}.panel > p.help-text{padding:0 28px}.panel > .permission-grid{margin:18px 28px 28px}.panel > .detail-list{padding:0 28px 28px}.panel > .link-output{margin:20px 28px}.panel > .back-link{margin-left:28px}.panel > .data-scroll{margin-top:20px}.profile-grid .panel{padding-bottom:14px}
@media(max-width:750px){.panel > form{padding:20px}.panel > h2{padding:20px 20px 0}.panel > .permission-grid{margin:15px 20px}.panel > p.help-text{padding:0 20px}.public-shell{padding-top:30px}}

/* V2.1 - primeiro acesso */
.auth-box-setup{max-width:515px;margin:38px auto;padding:36px 40px}
.auth-box-setup .field{margin:16px 0}
.auth-box-setup h1{margin:5px 0 10px}
.auth-box-setup p{font-size:13px;margin:0 0 17px}
.setup-step{display:inline-block;background:#e8f6ee;color:#177c55;font-size:10px;font-weight:800;letter-spacing:1.1px;padding:8px 11px;border-radius:7px;margin-bottom:15px}
.setup-security{font-size:11px;line-height:1.7;color:#80909c;border-top:1px solid #e7ecef;margin-top:23px;padding-top:17px}
@media(max-width:600px){.auth-box-setup{margin:15px auto;padding:25px 22px}}

/* V2.2 — Identidade visual multiempresa */
.brand-mark-image{width:39px;height:42px;overflow:hidden}
.brand-mark-image img{width:38px;height:38px;object-fit:contain;display:block}
.sidebar-brand-logo{display:block;width:158px;max-height:52px;height:auto;object-fit:contain;object-position:left center;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.brand-copy small{overflow:hidden;text-overflow:ellipsis;max-width:162px;letter-spacing:.65px;font-size:9px;color:#bfd4e2}
.app-footer{display:flex;justify-content:center;gap:5px;align-items:center;flex-wrap:wrap;line-height:1.8;padding:18px 16px 24px}
.app-footer img{width:142px;height:auto;display:block;object-fit:contain}
.app-footer a:hover img,.public-footer a:hover img{opacity:.83}
.public-logo{display:block;width:min(390px,100%);height:auto;max-height:100px;object-fit:contain;object-position:left center;background:white;border-radius:12px;padding:12px 16px}
.auth-box .public-logo{width:290px;max-height:85px;padding:6px}
.public-footer{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;background:#f5f8fc;color:#607484}
.public-footer a{color:#0c3c63}
.public-footer img{width:135px;height:auto;vertical-align:middle}
.form-section-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}
.form-section-heading h2{margin:0 0 6px}
.form-section-heading .help-text{margin:0 0 20px}
.visual-default-choice{padding:17px 20px;margin:12px 0 20px;border:1px solid #d9e5eb;border-radius:11px;background:#f5f8fb}
.visual-default-choice span{display:flex;flex-direction:column;gap:5px}
.visual-default-choice small{font-size:11px;color:#788896;font-weight:400}
.theme-editor{transition:opacity .2s}
.theme-editor.is-standard{opacity:.53}
.color-control{display:flex;align-items:center;gap:10px}
.color-control input[type="color"]{width:58px;height:44px;border-radius:10px;border:1px solid #d7e1e9;padding:3px;background:#fff;cursor:pointer;flex-shrink:0}
.color-control .form-control{max-width:240px}
.upload-field{min-width:0}
.upload-field input[type="file"]{padding:9px;max-width:100%;min-height:45px;height:auto}
.upload-field .checkbox-line{font-size:12px;margin-top:9px}
.upload-preview{height:108px;border:1px dashed #cbd9e4;background:#f5f9fb;border-radius:11px;display:flex;justify-content:center;align-items:center;margin:0 0 11px;padding:12px;overflow:hidden}
.upload-preview img{width:100%;height:100%;object-fit:contain}
.upload-preview-icon img{width:76px;height:76px}
.theme-footnote{display:flex;align-items:center;gap:13px;border-radius:10px;background:#f5f9fc;border:1px solid #e0e9ef;padding:15px 17px;color:#6c8090;font-size:12px}
.theme-footnote img{width:116px;height:auto;object-fit:contain;background:#fff;border-radius:5px;padding:6px}
.tema-profile-panel{margin:20px 0 24px;padding-bottom:25px}
.profile-theme-grid{display:grid;grid-template-columns:minmax(230px,1fr) minmax(250px,1fr);gap:25px;margin:18px 28px}
.profile-logo{background:#f3f7fa;border:1px solid #e3eaf0;border-radius:12px;display:grid;place-items:center;padding:23px;min-height:145px}
.profile-logo img{max-width:100%;max-height:120px;object-fit:contain}
.profile-theme-info p{display:flex;align-items:center;gap:6px;font-size:12px;color:#51687b;margin:9px 0}
.profile-theme-info .button{margin-top:10px}
.color-dot{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid #ccd7e0}
.profile-small-icon{width:32px;height:32px;object-fit:contain}
/* Somente o cliente autenticado recebe os tons configurados. */
.cliente-theme .nav-link.active{background:var(--green);color:var(--botao-texto)}
.cliente-theme .button-primary{background:var(--green);color:var(--botao-texto)}
.cliente-theme .button-primary:hover{background:var(--green2)}
.cliente-theme .section-kicker,.cliente-theme .quick-link,.cliente-theme .back-link{color:var(--green)}
.cliente-theme .permission-item input,.cliente-theme .checkbox-line input{accent-color:var(--green)}
.cliente-theme .quick-icon.blue,.cliente-theme .quick-icon.green,.cliente-theme .quick-icon.aqua{background:color-mix(in srgb,var(--green) 13%,white);color:var(--green)}
.cliente-theme .status-dot{background:var(--green)}
.cliente-theme .form-control:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,white)}
.cliente-theme .sidebar-brand-logo{background:transparent}
.cliente-theme .breadcrumb{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:750px){.profile-theme-grid{grid-template-columns:1fr;margin:18px 20px}.form-section-heading{flex-direction:column}.form-section-heading .help-text{margin-bottom:4px}}

/* V2.4.3 — mensagens de recuperação de códigos de cliente */
.alert-warning{border:1px solid #f1d19a;background:#fff7e9;color:#714917;padding:14px 17px;border-radius:9px;margin:12px 0;line-height:1.6}
.alert-warning p{margin:7px 0 0}.panel .alert{margin-bottom:16px}.panel form .form-control{max-width:520px;margin:10px 0}.panel form .button{margin-top:4px}

/* V2.4.5 — logo transparente e menu personalizado por cliente. */
.brand .brand-link img{mix-blend-mode:normal}
.cliente-theme .sidebar{color:var(--menu-texto, #fff)}
.cliente-theme .brand-copy small,
.cliente-theme .side-version,
.cliente-theme .side-version-small,
.cliente-theme .nav-caption{color:var(--menu-suave, #b3c5d2)}
.cliente-theme .nav-link{color:var(--menu-suave, #a3b8c9)}
.cliente-theme .nav-link:hover{color:var(--menu-texto, #fff);background:color-mix(in srgb,var(--menu-texto, #fff) 9%,transparent)}
.cliente-theme .sidebar-mini{color:var(--menu-texto, #fff);background:color-mix(in srgb,var(--menu-texto, #fff) 9%,transparent)}
.cliente-theme .sidebar-mini:hover{background:color-mix(in srgb,var(--menu-texto, #fff) 16%,transparent)}
.cliente-theme .sidebar-brand-logo{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.menu-color-config{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:center;
    padding:18px 20px;margin-bottom:22px;background:#f8fafc;border:1px solid #dae5ee;border-radius:11px}
.menu-color-config .field-hint{margin-top:7px}
.menu-color-config .color-control{flex-wrap:wrap}
.menu-color-config .color-control .button{font-size:11px;padding:9px 12px}
.menu-color-preview{display:flex;align-items:center;gap:10px;color:#fff;background:var(--preview-menu, #0C213C);
    min-height:81px;padding:12px;border-radius:10px;overflow:hidden}
.menu-color-preview.preview-claro{color:#142b43}
.menu-color-preview strong,.menu-color-preview small{display:block}
.menu-color-preview strong{font-size:12px}
.menu-color-preview small{font-size:10px;opacity:.78;margin-top:4px}
.menu-preview-mark{width:42px;height:42px;flex:0 0 auto}
.menu-preview-mark img{width:100%;height:100%;object-fit:contain}
@media(max-width:800px){.menu-color-config{grid-template-columns:1fr}}

/* V2.4.6 — exibir uma única marca de cada vez.
   Expandido: logo completo. Mini: somente ícone. Mobile: sempre logo completo. */
.brand .brand-mark-image{display:none;}
.app-shell.mini .sidebar .brand-mark-image{display:grid;}
.app-shell.mini .sidebar .brand-copy{display:none;}
.brand .brand-copy{min-width:0;max-width:100%;}
.brand .sidebar-brand-logo{max-width:100%;}
@media (max-width:750px){
  .app-shell.mini .sidebar .brand-mark-image{display:none;}
  .app-shell.mini .sidebar .brand-copy{display:flex;}
}


/* V2.4.9 — Consulta individual de títulos Orion */
.titulo-busca{overflow:hidden}
.titulo-busca-grid{gap:26px;margin-bottom:8px}
.titulo-busca .field .form-control{max-width:none;min-height:50px;font-size:14px;margin:0}
.titulo-busca .field-hint{margin-top:9px}
.titulo-busca-footer{margin-top:26px}
.titulo-busca-footer strong{color:#485d6d}
.titulo-ficha{margin-top:25px;border:1px solid #e3eaf0;background:#fff;border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}
.titulo-ficha-header{padding:27px 29px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #e9eff2}
.titulo-ficha-header h2{font-size:21px;margin:7px 0;letter-spacing:-.6px}
.titulo-ficha-header p{font-size:12px;color:#778897;margin:0}
.titulo-acoes{display:flex;gap:9px;flex-wrap:wrap}
.titulo-resumo{background:linear-gradient(110deg,#f7fbfd,#f4faf6);display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-bottom:1px solid #e5edee}
.titulo-resumo>div{min-width:0;padding:29px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.titulo-resumo>div+div{border-left:1px solid #dfe9ea}
.titulo-resumo-label{font-size:10px;letter-spacing:1.3px;font-weight:800;color:#788d99}
.titulo-resumo strong{font-size:25px;line-height:1.35;letter-spacing:-.6px;color:#18384a;overflow-wrap:anywhere}
.titulo-resumo-footnote{font-size:11px;color:#7c919e;line-height:1.5}
.titulo-status{display:inline-flex;padding:9px 14px;border-radius:100px;font-size:13px;font-weight:800;max-width:100%;overflow-wrap:anywhere}
.titulo-status-positivo{background:#dff4e9;color:#11613c}
.titulo-status-alerta{background:#fff0e8;color:#a04425}
.titulo-status-neutro{background:#e9f0f8;color:#345d7c}
.titulo-detalhes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:25px 28px 29px;align-items:start}
.titulo-secao{border:1px solid #e4ebf0;border-radius:12px;background:#fff;overflow:hidden;min-width:0}
.titulo-secao h3{font-size:13px;color:#243d4f;margin:0;padding:17px 20px;background:#f8fafb;border-bottom:1px solid #e9eff1}
.titulo-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:7px 15px}
.titulo-campo{display:flex;flex-direction:column;gap:6px;padding:15px 7px;border-bottom:1px solid #eff2f4;min-width:0}
.titulo-campo span{font-size:11px;color:#7b8e9b;line-height:1.5;overflow-wrap:anywhere}
.titulo-campo strong{font-size:13px;color:#223b4c;line-height:1.55;font-weight:700;overflow-wrap:anywhere;white-space:pre-line}
.titulo-ficha-footer{border-top:1px solid #e9eef0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 29px;color:#7f919b;font-size:11px}
.titulo-nova-consulta{color:var(--green);font-weight:800;white-space:nowrap}
.titulo-nova-consulta:hover{text-decoration:underline}
.titulo-sem-resultado{display:flex;gap:17px;align-items:center;margin-top:22px;padding:25px;border-radius:12px;background:#fff;border:1px solid #e4e9ee}
.titulo-sem-resultado>span{font-size:28px;color:var(--green)}
.titulo-sem-resultado strong{font-size:15px}.titulo-sem-resultado p{font-size:12px;color:#8593a0;margin:6px 0 0}
@media(max-width:1050px){.titulo-detalhes{grid-template-columns:1fr}}
@media(max-width:750px){.titulo-resumo{grid-template-columns:1fr}.titulo-resumo>div{padding:20px}.titulo-resumo>div+div{border-left:0;border-top:1px solid #dfe9ea}.titulo-ficha-header{padding:20px;align-items:flex-start;flex-direction:column}.titulo-detalhes{padding:16px}.titulo-ficha-footer{padding:20px;flex-direction:column;align-items:flex-start}.titulo-campos{grid-template-columns:1fr}.titulo-busca-grid{grid-template-columns:1fr!important}}
@media print{.sidebar,.topbar,.app-footer,.titulo-busca,.titulo-acoes,.titulo-nova-consulta,.page-heading{display:none!important}.content{max-width:100%;padding:0}.titulo-ficha{margin:0;box-shadow:none;border:0}.titulo-detalhes{grid-template-columns:repeat(2,minmax(0,1fr))}.titulo-resumo{print-color-adjust:exact;-webkit-print-color-adjust:exact}}


/* V2.4.10 — Consultar editais em fichas, sem tabela. */
.edital-busca{overflow:hidden}
.edital-busca-grid{gap:26px;margin-bottom:8px}
.edital-busca .field .form-control{max-width:none;margin:0;min-height:50px;font-size:14px}
.edital-busca-footer{margin-top:25px}
.edital-aviso{margin-bottom:22px}
.edital-resultado{background:#fff;border:1px solid #e3eaf0;border-radius:15px;margin-top:25px;overflow:hidden;box-shadow:var(--shadow)}
.edital-resultado-header{border-bottom:1px solid #e9eff2}
.edital-resultado-resumo{padding:24px 29px;display:flex;align-items:center;gap:18px;background:linear-gradient(110deg,#f6fafc,#eef8f2);border-bottom:1px solid #e6efec}
.edital-resultado-indicador{flex-shrink:0;width:58px;height:58px;border-radius:14px;display:grid;place-items:center;font-size:30px;font-weight:700;background:color-mix(in srgb,var(--green) 13%,white);color:var(--green)}
.edital-resumo-texto{min-width:0;flex:1}
.edital-resumo-texto strong{display:block;margin:8px 0 4px;font-size:19px;color:#153548;overflow-wrap:anywhere}
.edital-resumo-texto strong span{font-size:16px;font-weight:600;color:#64788b}
.edital-resumo-texto p{margin:0;font-size:11px;line-height:1.5;color:#718996}
.edital-resultado-total{border-left:1px solid #d8e5e8;padding-left:25px;display:flex;flex-direction:column;gap:5px;min-width:150px}
.edital-resultado-total strong{font-size:29px;color:#18384a}
.edital-registros{padding:25px 29px;display:grid;grid-template-columns:1fr;gap:21px}
.edital-registro{min-width:0;border:1px solid #e2ebee;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 5px 17px rgba(12,38,51,.035)}
.edital-registro-cabecalho{padding:21px 22px;display:flex;align-items:center;gap:14px;background:#f8fbfc;border-bottom:1px solid #e8eff2;min-width:0}
.edital-registro-marca{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:color-mix(in srgb,var(--green) 12%,white);color:var(--green);border-radius:11px;font-size:22px}
.edital-registro-titulo{flex:1;min-width:0}
.edital-registro-titulo h3{font-size:18px;letter-spacing:-.4px;line-height:1.35;color:#1f3b4d;margin:5px 0 2px;overflow-wrap:anywhere}
.edital-registro-titulo p{color:#7b909d;font-size:12px;margin:3px 0 0}
.edital-registro-cabecalho .titulo-status{flex-shrink:0;font-size:12px}
.edital-data{padding:13px 22px;display:flex;align-items:center;gap:13px;background:#fafcfd;border-bottom:1px solid #edf2f4;font-size:12px}
.edital-data span{color:#728999}.edital-data strong{color:#203e50}
.edital-secoes{padding:19px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:15px}
.edital-secoes .titulo-secao h4{font-size:13px;color:#243d4f;margin:0;padding:14px 17px;background:#f8fafb;border-bottom:1px solid #e9eff1}
.edital-secoes .titulo-campos{grid-template-columns:repeat(2,minmax(0,1fr));padding:5px 12px}
.edital-secoes .titulo-campo{padding:12px 7px}
.edital-secoes .titulo-campo strong{overflow-wrap:anywhere}
.edital-sem-detalhes{padding:9px 12px;color:#8495a0;font-size:12px}
.edital-vazio{display:flex;gap:20px;align-items:center;padding:40px 29px;min-height:160px}
.edital-vazio-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#e8f5ee;color:#157951;font-size:26px;flex-shrink:0}
.edital-vazio h3{font-size:17px;color:#1e4050;margin:0 0 8px}.edital-vazio p{color:#718594;font-size:12px;line-height:1.65;margin:0}
.edital-resultado-footer{border-top:1px solid #e9eef0}
@media(max-width:1050px){.edital-secoes{grid-template-columns:1fr}}
@media(max-width:750px){.edital-busca-grid{grid-template-columns:1fr!important}.edital-resultado-resumo{padding:19px;gap:12px;flex-wrap:wrap}.edital-resultado-total{width:100%;border-left:0;border-top:1px solid #d8e5e8;padding:15px 0 0;min-width:0}.edital-registros{padding:15px;gap:15px}.edital-registro-cabecalho{flex-wrap:wrap;padding:17px}.edital-registro-cabecalho .titulo-status{margin-left:56px}.edital-secoes{padding:12px}.edital-secoes .titulo-campos{grid-template-columns:1fr}.edital-vazio{padding:25px 18px}.edital-resultado-header{padding:20px}}
@media print{.edital-busca,.edital-aviso,.edital-resultado .titulo-acoes,.edital-resultado-footer .titulo-nova-consulta{display:none!important}.edital-resultado{border:0;box-shadow:none;margin:0}.edital-registro{break-inside:avoid}.edital-registros{padding:10px 0}.edital-resultado-resumo{print-color-adjust:exact;-webkit-print-color-adjust:exact}}


/* V2.4.11 — proteção das consultas */
.consulta-captcha{margin:18px 0 6px;padding:18px;border:1px solid #e0e8ef;border-radius:14px;background:#f8fafc}
.consulta-captcha-cabecalho{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.consulta-captcha-cabecalho strong{font-size:14px;color:#153148}
.consulta-captcha-cabecalho span{font-size:12px;color:#75879a}
.seguranca-consultas-painel{margin-bottom:20px}
.seguranca-metricas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:22px}
.seguranca-metricas>div{border:1px solid #e3eaf1;background:#f8fafc;padding:18px;border-radius:12px;display:flex;flex-direction:column;gap:8px}
.seguranca-metricas strong{font-size:20px;color:#0c2945}
.seguranca-metricas small{color:#6e8094;font-size:12px;line-height:1.5}
.security-switch{padding:20px 25px;background:#f5f9fc;border-bottom:1px solid #e5ecf1;margin-bottom:18px}
@media(max-width:760px){.seguranca-metricas{grid-template-columns:1fr}}

/* V2.4.11.2 — ficha resumida de protesto: somente os dez campos solicitados. */
.protesto-informacoes{margin-top:24px;background:#f5f6f8;border:1px solid #e4eaf0;border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}
.protesto-informacoes-cabecalho{padding:18px 23px 20px;color:#fff;background:linear-gradient(105deg,#247b75 0%,#329c8d 100%)}
.protesto-informacoes-cabecalho h2{margin:0 0 5px;font-size:17px;font-weight:800;color:#fff;letter-spacing:-.25px}
.protesto-informacoes-cabecalho p{margin:0;color:rgba(255,255,255,.9);font-size:12px}
.protesto-informacoes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:2px 0 0}
.protesto-informacoes-card{background:#fff;min-height:77px;border:1px solid #e8edf1;border-radius:13px;padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.protesto-informacoes-rotulo{font-size:12px;line-height:1.35;color:#738394;font-weight:650;overflow-wrap:anywhere}
.protesto-informacoes-valor{font-size:14px;color:#132338;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.protesto-informacoes-negativo{color:#c33030}
.protesto-informacoes-positivo{color:#12855c}
@media(max-width:920px){.protesto-informacoes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.protesto-informacoes-grid{grid-template-columns:1fr;gap:10px}.protesto-informacoes-cabecalho{padding:20px 18px}.protesto-informacoes-card{min-height:72px;padding:14px 17px}}
@media print{.protesto-informacoes{margin:0;box-shadow:none;border:none}.protesto-informacoes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.protesto-informacoes-card{break-inside:avoid}.protesto-informacoes-cabecalho{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* V2.4.12 — Configuração de e-mail e segundo fator do painel administrativo */
.security-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.security-settings-grid .panel>form{padding:24px 28px}
.security-settings-grid .panel .field{margin-bottom:18px}
.smtp-test-row{padding:0 28px 25px;display:flex;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid #edf1f3}
.smtp-test-row form{padding:20px 0 0;margin:0}
.smtp-test-row .field-hint{margin:18px 0 0}
@media(max-width:850px){.security-settings-grid{grid-template-columns:1fr}}
