/* Ceratti: mesma identidade do aplicativo de contabilidade. */
:root{--green:#103e2f;--gold:#c8ad6b;--line:#dce6df;--muted:#708178;--ink:#20382d}
body{font-family:'Segoe UI',system-ui,sans-serif;background:#f6f9f7;color:var(--ink);font-size:14px}h1,h2,h3,h4{font-family:inherit;color:var(--green)}h1{font-size:30px;font-weight:650;letter-spacing:-1px}h2{font-size:19px;font-weight:650}p{line-height:1.65}button,input,select,textarea{font-family:inherit}input,select,textarea{font-size:14px;min-height:44px}textarea{min-height:100px}.field label{font-size:12px;font-weight:600;color:#486152}.field small,.hint{font-size:12px;line-height:1.6}.btn{font-size:13px;border-radius:9px;min-height:42px}.btn.primary{background:#17513b;border-color:#17513b}.btn.primary:hover{background:#23684d}.btn:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.tag{font-size:11px}.card,.side-card{border-color:var(--line);box-shadow:0 4px 18px #153e2e03;border-radius:14px}.card-header p{font-size:12px}.page-heading{margin-bottom:28px}.page-heading p{color:var(--muted);font-size:13px}.eyebrow{letter-spacing:1.6px;font-weight:600;font-size:10px}.stat{border-color:var(--line);border-radius:13px}.stat-value{font-size:30px;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stat-label{font-size:12px}.stat-foot{font-size:11px}.stats{gap:18px}td{font-size:13px}th{font-size:10px;letter-spacing:.9px}.nav-caption{font-size:10px;letter-spacing:1.4px}.sidebar{background:linear-gradient(145deg,#083f32,#123c30);width:248px;padding:18px 16px}.shell{margin-left:248px}.sidebar .nav-item{font-size:12px;padding:10px 13px;border-radius:8px;margin-bottom:3px;color:#d9e6dd;gap:11px}.nav-item svg{width:17px}.sidebar .nav-item.active{background:#285440;color:#eedda7}.sidebar .nav-item.active:before{background:var(--gold)}.sidebar .nav-caption{margin-top:12px}.sidebar .environment{font-size:10px;padding:12px;border-color:#ffffff18}.sidebar .profile strong{font-size:10px}.sidebar .profile small{font-size:10px}.topbar{height:78px;background:#fff;border-color:var(--line)}.breadcrumb{font-size:11px}.company-switch select{font-size:11px}.portal-preview{font-size:11px;color:#416c56;display:flex;align-items:center;gap:5px;padding-right:13px}.portal-preview svg{width:13px}.brand-art{width:195px;height:80px;position:relative;overflow:hidden;flex-shrink:0}.brand-art img{position:absolute;width:265px;height:265px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%)}.sidebar .brand-art{margin:0 auto 15px}.brandmark{display:none}.content{max-width:1450px;padding:35px 38px}.table-wrap{max-width:100%}.favorite-card{background:white;border-radius:12px}.favorite-card h3{font-size:16px}.favorite-card dt{font-size:11px}.favorite-card dd{font-size:13px}.profile .avatar{background:#2a5642}.auth-brand{background:linear-gradient(140deg,#083f32,#164c37)}.auth-brand .brand-art{width:290px;height:120px}.auth-brand .brand-art img{width:390px;height:390px}.auth-brand:after{display:none}.auth-brand h1{font-size:46px;font-weight:500;line-height:1.12}.auth-form h2{font-size:28px}.auth-foot svg{width:14px;vertical-align:middle}.notice{border-radius:10px}.capture-banner{display:flex;align-items:center;gap:24px;background:#fff;padding:30px;border:1px solid var(--line);border-radius:15px;margin-bottom:22px}.capture-banner>div:nth-child(2){flex:1}.capture-banner h2{font-size:22px;margin:6px 0}.capture-banner p{margin:0 0 8px;color:var(--muted)}.capture-status{background:#faf4e5;border-radius:50%;padding:16px;color:#9f8043}.capture-status.ok{background:#e9f3ec;color:#277249}.capture-status svg{width:26px;height:26px}.capture-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}.capture-grid .card+.card{margin:0}
/* Portal do cliente: navegação curta e emissão em uma tela. */
.portal-header nav a,.portal-header>a,.portal-section-heading>a,.mobile-bottom a{text-decoration:none}.hero-note small{color:#c4d7c9}.portal-service:disabled{opacity:.6;cursor:default;transform:none}.portal-preview{flex-shrink:0;white-space:nowrap}
.portal-mode{background:#f6f9f7}.portal-header{height:94px;background:#103e2f;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));gap:28px;border-bottom:1px solid #274e3e}.portal-header>a{flex-shrink:0}.portal-header .brand-art{width:190px;height:80px}.portal-header nav{display:flex;align-items:center;gap:25px;align-self:stretch}.portal-header nav a{display:flex;align-items:center;position:relative;font-size:12px;color:#bdcec3;white-space:nowrap}.portal-header nav a[aria-current]{color:#f1e3ba}.portal-header nav a[aria-current]:after{content:'';height:3px;background:var(--gold);position:absolute;bottom:0;left:0;right:0}.portal-user{display:flex;align-items:center;gap:16px}.portal-user>span{font-size:10px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-user small{display:block;font-size:10px;color:#a8c3b2;margin-top:5px}.portal-user .icon-btn{color:#bfcec5}.portal-main{max-width:1190px;margin:0 auto;padding:28px 28px 60px;min-height:calc(100vh - 170px)}.portal-company-line{display:flex;justify-content:space-between;gap:15px;align-items:center;color:#688474;font-size:11px;margin-bottom:25px}.portal-company-line a{color:#537360}.portal-hero{background:linear-gradient(120deg,#103e2f,#225b40);position:relative;border-radius:18px;padding:38px 45px;display:flex;justify-content:space-between;align-items:center;gap:30px;overflow:hidden;margin-bottom:34px;color:#c1d1c5}.portal-hero:after{content:'';position:absolute;width:480px;height:480px;border:1px solid #ffffff0d;border-radius:50%;right:-170px;bottom:-320px;pointer-events:none;box-shadow:0 0 0 55px #ffffff03,0 0 0 110px #ffffff02}.portal-hero .eyebrow{color:#c8ad6b;font-size:10px;margin:0 0 18px}.portal-hero h2{font-size:38px;font-weight:500;line-height:1.17;letter-spacing:-1px;color:white;margin:0 0 16px}.portal-hero p{font-size:13px;color:#b3c9ba;margin-bottom:23px}.portal-hero .btn{background:#c8ad6b;border-color:#c8ad6b;color:#173d2c;font-weight:650;padding-inline:24px;min-height:45px}.hero-note{z-index:1;width:225px;min-height:220px;display:flex;flex-direction:column;align-items:flex-start;padding:22px 27px;background:#ffffff0a;border:1px solid #ffffff17;border-radius:13px;transform:rotate(3deg);gap:13px;margin-right:26px}.hero-note>svg{color:#dfca94;width:25px;height:25px}.hero-note>span{font-size:9px;letter-spacing:1.4px}.hero-note strong{font-size:42px;font-weight:450;color:white;line-height:1}.hero-note small{font-size:12px}.hero-note .hero-period{font-size:10px;border-top:1px solid #ffffff22;width:100%;padding-top:12px;margin-top:3px;color:#a9c3b1}.portal-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.portal-section-heading h2{font-size:20px;margin:0 0 6px}.portal-section-heading p{font-size:12px;color:var(--muted);margin:0}.portal-section-heading>a{font-size:12px;color:#416c56;display:flex;align-items:center;gap:6px}.portal-section-heading>a svg{width:14px}.portal-favorites{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:32px}.portal-service{position:relative;display:flex;flex-direction:column;text-align:left;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px 24px;color:var(--green);cursor:pointer;transition:transform .15s,border-color .15s;min-height:192px}.portal-service:hover{border-color:#92b09a;transform:translateY(-2px)}.portal-service strong{font-size:16px;font-weight:600}.portal-service small{color:#839186;font-size:12px}.service-glyph{width:34px;height:34px;border-radius:8px;background:#edf4ee;display:grid;place-items:center;color:#597d65;margin-bottom:6px}.service-glyph svg{width:19px;height:19px}.service-cta{font-size:11px;font-weight:600;margin-top:12px;display:flex;justify-content:space-between;align-items:center;width:100%}.service-cta svg{width:16px;height:16px}.block{display:block;margin-top:6px;color:#7c8c81;font-size:11px}.portal-empty{padding:40px;color:#7a8a7e;text-align:center;font-size:13px}.portal-main .card-header{padding:23px 25px}.portal-main .card-header>a{font-size:12px}.portal-main td,.portal-main th{padding:19px 24px}.portal-main .page-heading{margin-top:10px}.quick-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:start}.quick-layout .card-header{align-items:flex-start}.quick-layout .card-header .eyebrow{font-size:9px;margin:0 0 12px}.quick-layout .card-header h2{font-size:23px;margin-bottom:7px}.quick-layout .card-body{padding:28px}.quick-layout .form-grid{gap:22px}.quick-layout .field label{font-size:12px;margin-bottom:9px}.quick-layout .field textarea{min-height:115px}.quick-layout .form-footer{padding:22px 28px}.inline-add{margin:12px 0 23px}.inline-add .btn{padding-left:0}.quick-help{padding:28px 15px;color:#718676}.quick-help h3{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.5px;margin:18px 0 13px}.quick-help p{font-size:12px;line-height:1.8}.quick-help h4{font-size:13px;font-weight:600}.help-seal{background:#e4eee5;border-radius:12px;width:44px;height:44px;display:grid;place-items:center;color:#668165}.help-seal svg{width:22px;height:22px}.help-divider{height:1px;background:var(--line);margin:25px 0}.quick-help .tag{margin-top:15px}.step-pill{font-size:10px;white-space:nowrap;color:#35634b;margin-top:28px}.step-pill span{color:#a0aaa2;margin-left:12px}.fiscal-details{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;color:#6c8071}.fiscal-details summary{font-size:12px;cursor:pointer;margin-bottom:15px;font-weight:600}.fiscal-details p{font-size:12px}.quick-review{display:grid;grid-template-columns:1fr 1fr;gap:27px;margin:0 0 30px}.quick-review dt{font-size:11px;color:#7b8c80;margin-bottom:9px}.quick-review dd{font-size:14px;margin:0;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.quick-review .wide{grid-column:1/-1;padding-block:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quick-review .review-money{font-size:27px;font-weight:600;color:#17513b}.portal-footer{border-top:1px solid var(--line);max-width:1134px;margin:0 auto;padding:24px 0;display:flex;justify-content:space-between;color:#8b988e;font-size:10px}.portal-footer span{font-size:10px}.mobile-bottom{display:none}.draft-tiles{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.draft-tile{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:16px 20px;background:white;color:#426650;cursor:pointer;position:relative}.draft-tile strong{font-size:12px}.draft-tile span{font-size:11px;color:#7f8f82}.draft-tile svg{position:absolute;right:20px;top:22px;width:16px}.portal-mode .export-hint{font-size:11px}.portal-mode .field:has(input[name=municipalityCode]){display:none}.portal-mode #toast{left:50%}.portal-mode .toolbar{flex-wrap:wrap}
@media(min-width:1600px){.sidebar{width:248px}.shell{margin-left:248px}}
@media(max-width:1150px){.portal-header{padding-inline:22px;gap:18px}.portal-header nav{gap:17px}.portal-user>span{display:none}.content{padding:28px}.portal-preview{display:none}}
@media(max-width:900px){.sidebar{width:205px;padding-inline:12px}.shell{margin-left:205px}.sidebar .brand-art{width:180px}.content{padding:25px}.portal-header nav{gap:15px}.portal-header .brand-art{width:160px}.portal-header .brand-art img{width:225px;height:225px}.quick-layout{grid-template-columns:1fr}.quick-help{display:none}.hero-note{margin-right:0;width:190px}.portal-main{padding:25px 22px 45px}.portal-hero{padding:32px}.portal-header nav a{font-size:11px}.portal-favorites{gap:12px}.portal-service{padding:20px}.capture-banner{flex-wrap:wrap;gap:15px}}
@media(max-width:650px){.sidebar{width:240px}.shell{margin-left:0}.sidebar .brand-art{width:195px}.content{padding:22px 16px}.stats{gap:8px}.stat{padding:14px 10px}.stat-value{font-size:23px}.stat-label{font-size:10px}.stat-foot{font-size:9px}.capture-grid{grid-template-columns:1fr;gap:16px}.capture-banner{padding:22px}.capture-banner h2{font-size:20px}.portal-header{height:76px;padding:0 17px;gap:10px}.portal-header nav{display:none}.portal-header .brand-art{height:72px;width:175px}.portal-header .brand-art img{width:240px;height:240px}.portal-user>span{display:block;font-size:9px;max-width:135px}.portal-user small{font-size:9px}.portal-user{gap:10px}.portal-main{padding:19px 17px 30px;min-height:calc(100vh - 220px)}.portal-company-line{font-size:10px;margin-bottom:20px}.portal-company-line .tag{font-size:9px}.portal-hero{padding:28px 25px;border-radius:14px;margin-bottom:26px}.portal-hero h2{font-size:31px}.portal-hero p{font-size:12px}.portal-hero p br{display:none}.portal-hero .eyebrow{font-size:8px;margin-bottom:15px}.hero-note{display:none}.portal-section-heading h2{font-size:18px}.portal-section-heading p{font-size:11px}.portal-favorites{display:flex;overflow-x:auto;gap:12px;margin-inline:-17px;padding:0 17px 7px;scroll-snap-type:x mandatory}.portal-service{min-width:235px;min-height:170px;scroll-snap-align:start;flex:1}.portal-service strong{font-size:15px}.portal-footer{padding:24px 17px 95px;gap:15px;align-items:flex-start;margin:0}.portal-footer span{font-size:9px;white-space:nowrap}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e0e7e1;justify-content:space-around;padding:10px 8px max(10px,env(safe-area-inset-bottom));z-index:50;box-shadow:0 -4px 25px #103e2f05}.mobile-bottom a{display:flex;flex-direction:column;align-items:center;gap:6px;color:#91a094;font-size:9px;padding:0 10px}.mobile-bottom a[aria-current]{color:#17513b;font-weight:650}.mobile-bottom svg{height:21px;width:21px}.portal-mode #toast{bottom:85px;font-size:12px}.portal-main .card-header{padding:20px}.portal-main .card-header h2{font-size:17px}.portal-main .page-heading h1{font-size:26px}.quick-layout .card-header h2{font-size:22px}.step-pill{display:none}.quick-layout .card-body{padding:22px 20px}.quick-layout .form-grid{gap:20px}.quick-layout .form-footer{padding:18px 16px;gap:10px}.quick-layout .form-footer>.btn{font-size:12px;padding-inline:11px}.quick-review{grid-template-columns:1fr;gap:22px}.quick-review .wide{grid-column:auto}.draft-tiles{grid-template-columns:1fr}.portal-mode .stats{grid-template-columns:1fr}.portal-mode .stat{padding:17px 20px}.auth-brand .brand-art{width:240px;height:90px}.auth-brand .brand-art img{width:320px;height:320px}.auth-brand h1{font-size:33px}.portal-mode .auth-brand{min-height:170px}.portal-mode .auth-brand footer{margin-top:15px}}

/* Legibilidade do escritório: campos e orientações com contraste consistente. */
body.office-mode:not(.auth-mode){font-size:16px;color:#193a30;--muted:#4e665a;--line:#bdcec3;--gold:#806321}
.office-mode:not(.auth-mode) .content{max-width:1600px}
.office-mode:not(.auth-mode) h1{font-size:32px;font-weight:650;letter-spacing:-.6px}
.office-mode:not(.auth-mode) h2{font-size:21px;font-weight:650}
.office-mode:not(.auth-mode) h3{font-size:17px;font-weight:650}
.office-mode:not(.auth-mode) .page-heading p,.office-mode:not(.auth-mode) .card-header p{font-size:15px;color:#4e665a;line-height:1.6}
.office-mode:not(.auth-mode) .eyebrow{font-size:12px;color:#4e665a;font-weight:650}
.office-mode:not(.auth-mode) .section-title{font-size:16px;color:#174b38;font-weight:650}
.office-mode:not(.auth-mode) .field label{font-size:15px;color:#234637;font-weight:600}
.office-mode:not(.auth-mode) .field input,.office-mode:not(.auth-mode) .field select,.office-mode:not(.auth-mode) .field textarea{font-size:16px;color:#193a30;background:#fff;border-color:#91aa9c;min-height:46px;line-height:1.5}
.office-mode:not(.auth-mode) input::placeholder,.office-mode:not(.auth-mode) textarea::placeholder{color:#596f62;opacity:1}
.office-mode:not(.auth-mode) .field input:focus,.office-mode:not(.auth-mode) .field select:focus,.office-mode:not(.auth-mode) .field textarea:focus{outline:2px solid #93732d;outline-offset:2px;border-color:#174b38}
.office-mode:not(.auth-mode) .hint,.office-mode:not(.auth-mode) .field small,.office-mode:not(.auth-mode) .form-footer small,.office-mode:not(.auth-mode) .rate-head small{font-size:14px;color:#4e665a;line-height:1.6}
.office-mode:not(.auth-mode) .tabs{gap:12px;min-height:60px;align-items:stretch}
.office-mode:not(.auth-mode) .tab{font-size:15px;font-weight:550;color:#4e665a;padding:16px 18px;min-height:54px;border-radius:8px 8px 0 0}
.office-mode:not(.auth-mode) .tab.active{color:#153f35;background:#e5eee8;font-weight:700;box-shadow:inset 0 -3px #93732d}
.office-mode:not(.auth-mode) .notice{font-size:15px;line-height:1.6;color:#654d16;background:#fff8e8;border-color:#ba9b51}
.office-mode:not(.auth-mode) .notice p{font-size:15px;color:#654d16}
.office-mode:not(.auth-mode) .notice svg{color:#806321}
.office-mode:not(.auth-mode) .notice.neutral{color:#244b3b;background:#edf4ef;border-color:#a5bfae}
.office-mode:not(.auth-mode) .notice.neutral p{color:#244b3b}
.office-mode:not(.auth-mode) .company-name{font-size:17px;font-weight:650;color:#234637;line-height:1.5}
.office-mode:not(.auth-mode) .company-aside p,.office-mode:not(.auth-mode) .side-row,.office-mode:not(.auth-mode) .check-item{font-size:14px;color:#4e665a;line-height:1.6}
.office-mode:not(.auth-mode) .side-row strong{color:#234637;font-weight:650}
.office-mode:not(.auth-mode) .check-item.pending{color:#705516}
.office-mode:not(.auth-mode) .check-item svg{width:18px;height:18px;opacity:1}
.office-mode:not(.auth-mode) .btn{font-size:15px;min-height:44px;font-weight:600;border-color:#a8beb0;color:#234637}
.office-mode:not(.auth-mode) .btn.primary{color:#fff;border-color:#153f35}
.office-mode:not(.auth-mode) .btn.small{font-size:14px;min-height:38px}
.office-mode:not(.auth-mode) .btn.danger{color:#a12e2e}
.office-mode:not(.auth-mode) .nav-item{font-size:14px;color:#e4eee8}
.office-mode:not(.auth-mode) .nav-caption{font-size:11px;color:#bdd2c6}
.office-mode:not(.auth-mode) .nav-item.active{color:#f5d991;background:#2b5847}
.office-mode:not(.auth-mode) .breadcrumb{font-size:14px;color:#4e665a}
.office-mode:not(.auth-mode) .company-switch select{font-size:14px;color:#234637}
.office-mode:not(.auth-mode) .company-switch{max-width:440px;min-width:0}
.office-mode:not(.auth-mode) .company-switch select{max-width:300px;min-width:0}
.office-mode:not(.auth-mode) .company-layout{grid-template-columns:minmax(0,1fr) 290px;gap:24px}
.office-mode:not(.auth-mode) .card,.office-mode:not(.auth-mode) .company-layout>*{min-width:0}
.office-mode:not(.auth-mode) .company-layout .tabs{overflow-y:hidden}
.office-mode:not(.auth-mode) .checkbox-label{font-size:14px;color:#3c5849}
@media(max-width:1150px){.office-mode:not(.auth-mode) .company-layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}}
@media(max-width:900px){.office-mode:not(.auth-mode) .company-layout{grid-template-columns:minmax(0,1fr)}.office-mode:not(.auth-mode) .company-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.office-mode:not(.auth-mode) .company-switch select{max-width:200px}}
@media(max-width:650px){.office-mode:not(.auth-mode) .company-aside{grid-template-columns:minmax(0,1fr)}.office-mode:not(.auth-mode) .tab{padding:14px 12px;font-size:14px}.office-mode:not(.auth-mode) .btn{white-space:normal}.office-mode:not(.auth-mode) h1{font-size:28px}}

.office-mode .service-history-actions{margin-bottom:18px;gap:14px}
.office-mode .history-option{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid #a8beb0;border-radius:10px;margin:12px 0;background:#f5f8f5;color:#193a30}
.office-mode .history-option input{margin-top:7px;accent-color:#174b38}
.office-mode .history-option strong{display:block;font-size:16px}
.office-mode .history-option small{display:block;font-size:14px;color:#405c4b;margin-top:6px;overflow-wrap:anywhere}
.office-mode .service-history-options{font-size:15px;line-height:1.6}

.office-mode:not(.auth-mode) .rate-head input[type=month]{width:210px;min-width:190px;max-width:100%}
