:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#17212b;background:#f4f7f8}*{box-sizing:border-box}body{margin:0}.shell{max-width:1180px;margin:auto;padding:34px 20px}header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.eyebrow{color:#0b8f72;font-weight:800;letter-spacing:.12em}h1{font-size:32px;margin:6px 0}.muted{color:#687680;margin:0}.health{font-size:13px;background:#e4f7ef;color:#167456;border-radius:20px;padding:8px 13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stats div,.card{background:#fff;border:1px solid #e3eaec;border-radius:16px;box-shadow:0 6px 20px #173d4b09}.stats div{padding:18px}.stats strong,.stats span{display:block}.stats strong{font-size:24px}.stats span{color:#74818a;font-size:13px;margin-top:5px}.grid{display:grid;grid-template-columns:340px 1fr;gap:20px}.card{padding:22px}.card h2{font-size:18px;margin:0 0 18px}.card label{display:block;font-size:13px;font-weight:700;margin:14px 0;color:#46535c}.card input,.card textarea{display:block;width:100%;border:1px solid #d6e0e3;border-radius:9px;padding:12px;margin-top:7px;font:inherit}.card textarea{min-height:90px;resize:vertical}button{border:0;border-radius:9px;padding:12px 15px;background:#0b8f72;color:white;font-weight:700;cursor:pointer}button:hover{filter:brightness(.95)}.secondary{background:#e8efef;color:#183a3a}.text-button{background:transparent;color:#0b8f72;padding:5px}.section-title{display:flex;justify-content:space-between;align-items:center}.list{display:grid;gap:10px}.item{border:1px solid #e3eaec;border-radius:12px;padding:15px;display:flex;justify-content:space-between;gap:15px;align-items:center}.item h3{font-size:15px;margin:0 0 6px}.item p{font-size:13px;color:#687680;margin:3px 0}.item-right{text-align:right;white-space:nowrap}.amount{font-weight:800}.badge{display:inline-block;font-size:11px;padding:5px 8px;border-radius:12px;margin-top:6px}.pending{background:#fff4d8;color:#9a6b00}.collected{background:#e0f7ed;color:#147452}.cancelled{background:#fde6e5;color:#a5443f}.actions{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.actions button{font-size:11px;padding:7px 9px}.message{min-height:18px;font-size:13px;margin-top:12px;color:#0b8f72}dialog{border:0;border-radius:16px;max-width:440px;width:calc(100% - 30px);padding:25px;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#10272b88}.receipt{border:1px dashed #a8b8b9;padding:22px}.receipt h2{text-align:center}.receipt p{font-size:14px;line-height:1.5}.dialog-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.auth-card{max-width:430px;margin:8vh auto;padding:28px}.auth-card h1{margin-top:6px;color:#0b8f72}.auth-tabs{display:flex;gap:8px;margin:22px 0 8px}.auth-tabs button{flex:1}.auth-card[hidden],#appView[hidden]{display:none}@media(max-width:780px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}header{display:block}.health{display:inline-block;margin-top:15px}.item{align-items:flex-start;flex-direction:column}.item-right{text-align:left}}
#appView>.route-header{margin-bottom:28px}
#appView>header:not(.route-header),#appView>.stats,#appView>.grid{display:none}
.route-planner{padding:28px}
.planner-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.planner-heading h2{margin:0 0 6px}
.date-creator label,.city-field{display:block;font-size:13px;font-weight:700;color:#46535c}
.date-creator-row{display:flex;gap:8px;margin-top:7px}
.date-creator input,.city-field input{border:1px solid #d6e0e3;border-radius:9px;padding:11px;font:inherit}
.date-creator input{width:150px}
.date-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid #e3eaec;margin:28px -28px 24px;padding:0 28px}
.date-tab{background:transparent;color:#0b8f72;border-radius:9px 9px 0 0;border-bottom:3px solid transparent;white-space:nowrap}
.date-tab.active{background:#e8f5f1;border-bottom-color:#0b8f72}
.empty-tabs{padding:12px 0}
.route-toolbar,.clients-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.route-toolbar h3,.clients-heading h3{margin:0 0 5px;font-size:17px}
.route-toolbar .secondary{color:#a5443f;background:#fde6e5}
.city-field{margin-top:24px;max-width:500px}
.city-field input{display:block;width:100%;margin-top:7px}
.clients-heading{margin-top:28px}
.add-client{padding:9px 12px}
.client-table{margin-top:12px;border:1px solid #e3eaec;border-radius:12px;overflow:hidden}
.client-table-head,.client-row{display:grid;grid-template-columns:44px minmax(180px,1fr) minmax(140px,220px) 42px;align-items:center;gap:12px;padding:12px 14px}
.client-table-head{background:#f4f7f8;color:#687680;font-size:12px;font-weight:800}
.client-row{border-top:1px solid #e3eaec}
.client-row input{width:100%;border:1px solid #d6e0e3;border-radius:8px;padding:10px;font:inherit}
.client-number{font-weight:800;color:#0b8f72;text-align:center}
.freight-input{display:flex;align-items:center;border:1px solid #d6e0e3;border-radius:8px;overflow:hidden}
.freight-input span{padding-left:10px;color:#687680;font-size:13px}
.freight-input input{border:0!important;border-radius:0!important}
.icon-button{background:transparent;color:#a5443f;padding:8px;font-size:18px}
.route-total{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid #e3eaec;color:#46535c}
.route-total strong{font-size:24px;color:#0b8f72}
.empty-route{text-align:center;padding:35px 10px}
@media(max-width:650px){.planner-heading{display:block}.date-creator{margin-top:20px}.client-table-head,.client-row{grid-template-columns:30px minmax(120px,1fr) 110px 34px;gap:6px;padding:10px 8px}.client-table-head span:nth-child(2){font-size:0}.client-table-head span:nth-child(2):after{content:'Cliente';font-size:12px}.route-toolbar{align-items:flex-start}.route-total{display:block;text-align:right}.route-total strong{display:block;margin-top:5px}}
:root{--navy:#123d68;--blue:#2463b7;--pale:#eaf3fc;--line:#c6d8ea;--field:#dfeaf6}
body{background:linear-gradient(135deg,#eff6fd 0%,#e8f2fb 100%);color:var(--navy)}
.app-shell{max-width:1425px;margin:0 auto;padding:28px 36px 70px}
.brand-header{height:115px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line)}
.logo-placeholder{width:105px;height:105px;border:1px dashed #70a7e9;border-radius:25px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#52769b}
.logo-placeholder span{font-size:32px;line-height:35px}.logo-placeholder small{font-weight:700}
.brand-name{font-size:24px;font-weight:900;letter-spacing:6px}
.main-nav{height:80px;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}
.nav-link{background:transparent;color:#5f7c9d;border-radius:7px;padding:14px 18px;font-size:22px;font-weight:400}
.nav-link:hover,.nav-link.selected{color:var(--blue);background:#f5f9fe}
.nav-link.selected{box-shadow:inset 0 -4px var(--blue)}
.nav-icon{font-size:29px;vertical-align:-3px;margin-right:8px}
#pageContent{padding-top:38px}
.page-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}
.page-title-row h1{font-size:36px;letter-spacing:4px;margin:0 0 8px;color:var(--navy)}
.subheading{font-size:17px;color:#54759b;margin:0}
.page-actions{display:flex;gap:12px}.round-button{width:63px;height:63px;border-radius:18px;background:#dfeaf6;color:#557699;font-size:30px}.round-button.primary{background:var(--blue);color:#fff}
.route-meta{display:flex;gap:22px;align-items:center}.date-picker,.counter-pill{display:flex;align-items:center;gap:12px;background:#dfeaf6;border:1px solid #c5d8eb;border-radius:20px;padding:16px 26px;color:var(--navy);font-size:20px}.date-picker input{border:0;background:transparent;color:var(--navy);font-size:18px;outline:none}.counter-pill{font-size:14px;color:#6481a0}.counter-pill b{font-size:21px;color:var(--blue)}
.route-tabs{border-bottom:1px solid var(--line);padding-bottom:23px}.route-tab{background:#d7e8fa;border:1px solid #5e9bf0;color:var(--blue);border-radius:18px 18px 0 0;font-size:20px;padding:17px 22px}.route-tab span{margin-left:12px}
.route-list{margin-top:36px;display:grid;gap:20px}.city-card,.client-list,.accounting-list,.general-total{background:rgba(255,255,255,.8);border:1px solid #c5d9ed;border-radius:22px;padding:30px;box-shadow:0 12px 30px #4677a31a}
.city-heading{display:flex;align-items:center;gap:20px}.city-drag{color:var(--blue);font-size:30px}.city-name{flex:1;background:var(--field);border:1px solid #c8d9eb;border-radius:19px;padding:19px 23px;font:700 26px inherit;color:#687888;outline:none}.icon-action{border:1px dashed #5798e9;background:transparent;color:var(--blue);border-radius:17px;width:57px;height:57px;padding:0;font-size:31px}.route-table{margin-top:22px;background:#e1edf8;border:1px solid #c5d8eb;border-radius:20px;padding:20px}.route-client{display:grid;grid-template-columns:30px 45px 1fr 190px 55px;align-items:center;gap:14px;position:relative;padding:2px 0 54px}.route-client+.route-client{border-top:1px solid #cadceb;padding-top:14px}.route-client input{background:var(--field);border:1px solid #c5d8eb;border-radius:18px;padding:19px 22px;font-size:19px;color:#66798d;outline:none}.drag-mark,.client-index{color:#6887a9;font-size:17px}.route-freight{display:flex;align-items:center;background:var(--field);border:1px solid #c5d8eb;border-radius:18px;overflow:hidden;color:#7189a2}.route-freight span{padding-left:15px}.route-freight input{width:100%;border:0;background:transparent;border-radius:0;text-align:right}.row-actions{position:absolute;right:18px;bottom:14px}.text-action{border:0;background:transparent;color:#5f7fa3;font-size:17px;padding:7px 10px}.city-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.accounting-actions{display:flex;gap:15px;margin-bottom:25px}.large-button{background:#dfeaf6;color:var(--navy);font-size:19px;border:1px solid #c5d8eb;border-radius:19px;padding:18px 26px}.large-button.primary{background:var(--blue);color:#fff}.general-total{margin-bottom:20px}.general-total span{display:block;color:#6e89a6;font-size:14px}.general-total strong{display:block;color:var(--blue);font-size:36px;margin-top:10px}.accounting-date{border-top:1px solid var(--line);padding:20px 0}.accounting-date h3{margin:0 0 12px}.accounting-entry{display:grid;grid-template-columns:1fr 180px 90px;gap:12px;margin-top:8px}.accounting-entry input{background:var(--field);border:1px solid #c5d8eb;border-radius:12px;padding:13px;font:inherit}.client-list{display:grid;gap:18px}.client-card{display:grid;grid-template-columns:100px 1fr 90px;align-items:end;gap:20px;background:#e1edf8;border:1px solid #c5d8eb;border-radius:18px;padding:20px}.client-card label{color:#6887a9}.client-card input{display:block;width:100%;margin-top:8px;background:var(--field);border:1px solid #c5d8eb;border-radius:14px;padding:16px;font:inherit}.client-number{font-weight:800}.floating-add{margin-top:22px;background:var(--blue);font-size:18px}
.empty-state{text-align:center;color:#6b87a4;padding:35px}
.client-card{grid-template-columns:100px 1fr 57px}.client-fields{display:grid;gap:14px}.client-card input,.client-card textarea{display:block;width:100%;margin-top:8px;background:var(--field);border:1px solid #c5d8eb;border-radius:14px;padding:16px;font:inherit;resize:vertical}.client-address{min-height:88px}.delete-master-client{align-self:end}.delete-master-client svg{width:22px;height:22px}.floating-add{font-size:26px;width:57px;height:57px;padding:0;border-radius:17px}
@media(max-width:760px){.app-shell{padding:18px}.brand-header{height:95px}.logo-placeholder{width:90px;height:90px}.main-nav{gap:0;justify-content:space-between}.nav-link{padding:12px 4px;font-size:14px}.nav-icon{display:block;text-align:center;font-size:24px;margin:0}.page-title-row{display:block}.page-actions{margin-top:20px}.route-meta{display:block}.counter-pill,.date-picker{margin-top:10px;width:max-content}.city-name{font-size:19px}.route-client{grid-template-columns:24px 34px 1fr 110px 40px;gap:5px}.route-client input{padding:14px 8px;font-size:14px}.route-table{padding:10px}.accounting-actions{flex-wrap:wrap}.accounting-entry{grid-template-columns:1fr 110px 65px}.client-card{grid-template-columns:1fr}.client-number{margin-bottom:-12px}}

/* Tela inicial alinhada ao novo fluxo visual */
.auth-redesign{position:relative;max-width:450px;min-height:610px;margin:0 auto;padding:30px 19px 24px;border:1px solid #e2e9f1;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 25px rgba(29,69,112,.08)}
.auth-redesign:before{content:'⌁\A Inserir logo';white-space:pre;text-align:center;position:absolute;top:21px;left:19px;width:78px;height:78px;padding-top:12px;border:1px dashed #bdcde0;border-radius:7px;color:#1c56a6;font-size:28px;line-height:30px;box-sizing:border-box}
.auth-redesign:after{content:'♧\A  ● ● ● ●';white-space:pre;text-align:center;position:absolute;top:35px;right:19px;width:50px;height:48px;padding-top:7px;border:1px solid #dfe6ef;border-radius:8px;color:#205caf;font-size:22px;line-height:18px;box-shadow:0 2px 7px #244b7814}
.auth-redesign .eyebrow,.auth-redesign>.muted{display:none}.auth-redesign h1{margin:68px 0 28px;font-size:0;line-height:1;color:#173d75}.auth-redesign h1:before{content:'MESTRELOG';font-size:27px;font-weight:900;letter-spacing:.3px}.auth-redesign h1:after{content:'  –  Gestão de rotas';font-size:19px;color:#586a88;letter-spacing:0}
.auth-redesign .auth-tabs{gap:19px;margin:0 0 24px}.auth-redesign .auth-tabs button{height:39px;border-radius:7px;background:#2459aa;box-shadow:none;font-size:12px}.auth-redesign .auth-tabs button.secondary{background:#f1f4f8;color:#50627e}.auth-redesign .auth-tabs button span{font-size:18px;vertical-align:-2px;margin-right:5px}
.auth-redesign form label{margin:0 0 14px;color:#425674;font-size:12px;font-weight:700}.auth-redesign form label>span,.auth-redesign form>label{display:block}.auth-redesign .auth-input{display:flex;align-items:center;height:38px;margin-top:6px;border:1px solid #dce5ef;border-radius:7px;background:#fff}.auth-redesign .auth-input>span{width:34px;text-align:center;color:#9aaac0;font-size:17px}.auth-redesign .auth-input input{border:0;margin:0;padding:10px 0;width:100%;outline:0;color:#52657f;font-size:12px}.auth-redesign .auth-input input::placeholder{color:#a8b5c8}.auth-redesign .password-toggle{padding:5px 10px;background:transparent;color:#91a2bb;font-size:14px}.auth-redesign .auth-options{display:flex;justify-content:space-between;align-items:center;margin:2px 0 17px;color:#60718b;font-size:11px}.auth-redesign .auth-options label{display:flex;align-items:center;gap:3px;margin:0;font-size:11px;font-weight:400}.auth-redesign .auth-options input{accent-color:#2459aa}.auth-redesign .auth-options a{color:#3479df;text-decoration:none}.auth-redesign .submit-auth{width:100%;height:40px;border-radius:7px;background:#2459aa;font-size:13px}.auth-redesign .submit-auth span{font-size:18px;vertical-align:-2px;margin-right:6px}.auth-redesign .or-divider{display:flex;align-items:center;gap:13px;margin:16px 0 11px;color:#6e7f99;font-size:11px}.auth-redesign .or-divider:before,.auth-redesign .or-divider:after{content:'';height:1px;background:#e4e9f0;flex:1}.auth-redesign .google-button{width:100%;height:39px;border:1px solid #dce5ef;background:#fff;color:#34445d;font-size:12px;box-shadow:none}.auth-redesign .google-button b{font-size:17px;color:#4285f4;margin-right:12px}.auth-redesign .message{min-height:0;margin:7px 0 0}.auth-redesign form:after{content:''}.auth-redesign .signup-prompt{margin:18px 0 0;text-align:center;color:#71809a;font-size:11px}.auth-redesign .signup-prompt button{padding:0;background:transparent;color:#3479df;font-size:11px;font-weight:600}.auth-redesign #nameField[hidden]{display:none}.auth-redesign #nameField input{display:block;width:100%;margin-top:6px;height:38px;border:1px solid #dce5ef;border-radius:7px;padding:10px;font:inherit}
@media(max-width:500px){.auth-redesign{min-height:100vh;margin:0;border-radius:0;padding-top:25px}.auth-redesign h1{margin-top:68px}.shell{padding:0 16px}}
.auth-redesign:after{content:'\1F4E4' !important;white-space:normal;display:flex;align-items:center;justify-content:center;top:35px;width:50px;height:48px;padding:0;font-size:22px;color:#2459aa}
.logo-upload{position:absolute;z-index:2;top:21px;left:19px;width:78px;height:78px;border:1px dashed #bdcde0;border-radius:7px;background:#fff;color:#1c56a6;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.logo-upload span{font-size:31px;line-height:1}.logo-upload.has-logo span{display:none}.logo-upload-input{display:none}
.auth-redesign:before{content:none!important;display:none!important}
.auth-redesign:after{content:'↗'!important;position:absolute;right:19px;top:35px;width:50px;height:48px;box-sizing:border-box;border:1px solid #dfe6ef;border-radius:8px;background:#fff;box-shadow:0 2px 7px rgba(36,75,120,.08);font-family:Arial,sans-serif;font-size:25px;font-weight:700;line-height:48px;text-align:center;color:#2459aa;white-space:normal;padding:0;display:block;pointer-events:none}
.logo-upload{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;padding:0;margin:0;background-color:#fff;background-position:center;background-repeat:no-repeat;background-size:contain}
.auth-redesign:before{display:none}.auth-redesign:after{content:'\1F4E4';white-space:normal;display:flex;align-items:center;justify-content:center;top:35px;width:50px;height:48px;padding:0;font-size:22px}
.logo-upload{position:absolute;z-index:2;top:21px;left:19px;width:78px;height:78px;border:1px dashed #bdcde0;border-radius:7px;background:#fff;color:#1c56a6;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.logo-upload span{font-size:31px;line-height:1}.logo-upload.has-logo span{display:none}.logo-upload-input{display:none}
.auth-redesign:before,.auth-redesign:after{content:none!important;display:none!important}
.auth-redesign h1{margin-top:0}
.auth-redesign:after{content:'\1F517\A  \1F4AC  f  ◎  t';font-size:16px;line-height:20px;padding-top:6px;color:#2459aa}
.auth-redesign form>label:not(#nameField) input{display:block;width:100%;height:38px;margin-top:6px;border:1px solid #dce5ef;border-radius:7px;padding:10px;font-size:12px;color:#52657f}.auth-redesign form>label:not(#nameField) input::placeholder{color:#a8b5c8}.auth-redesign form label:nth-of-type(3):after{content:'☑  Lembrar de mim                         Esqueci minha senha';display:block;white-space:pre;margin:5px 0 17px;color:#60718b;font-size:11px;font-weight:400}.auth-redesign #authSubmit{width:100%;height:40px;border-radius:7px;background:#2459aa;font-size:13px;margin-top:2px}.auth-redesign #authSubmit:before{content:'↪  '}.auth-redesign #authMessage{display:none}.auth-redesign form:after{content:'ou continue com\A\A            G   Continuar com Google';display:block;white-space:pre;text-align:center;color:#6e7f99;border-top:1px solid #e4e9f0;margin-top:16px;padding-top:10px;font-size:11px}
.auth-redesign #googleLogin,.auth-redesign form:after{display:none!important;content:none!important}
.auth-redesign .auth-or{display:flex;align-items:center;gap:13px;margin:16px 0 11px;color:#6e7f99;font-size:11px}.auth-redesign .auth-or:before,.auth-redesign .auth-or:after{content:'';height:1px;background:#e4e9f0;flex:1}.auth-redesign #googleLogin{display:flex!important;align-items:center;justify-content:center;text-decoration:none;border:1px solid #dce5ef;border-radius:7px;background:#fff;color:#34445d;box-shadow:none;font-size:12px;height:39px}.auth-redesign #googleLogin:hover{background:#f7faff}.auth-redesign .google-mark{font-family:Arial,sans-serif;font-size:17px;font-weight:700;color:#4285f4;margin-right:12px}.auth-redesign #authMessage{display:block}
.auth-redesign .link-button{display:block;margin:10px auto 0;padding:0;background:transparent;color:#3479df;font-size:11px;font-weight:600}
.auth-redesign .message{display:block!important}
.auth-redesign form[hidden]{display:none!important}
.auth-redesign form label:nth-of-type(3):after{content:none!important}
.route-list .duplicate-client{display:none!important}
.route-list .delete-client,.route-list .delete-city{font-size:0;line-height:1;padding:7px 10px}
.route-list .delete-client::before,.route-list .delete-city::before{content:'🗑';font-size:20px}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:8px;vertical-align:-5px}
.nav-icon svg,.round-button svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.round-button{display:inline-flex;align-items:center;justify-content:center}
.round-button.share-action{background:#d7e2ee;color:#244a7d}
.page-title-row>div:first-child>.main-nav{height:auto;border-bottom:0;gap:18px;margin:-10px 0 18px}
.page-title-row>div:first-child>.main-nav .nav-link{font-size:20px;padding:10px 12px}
.route-tabs .route-tab{font-weight:800;text-transform:uppercase}
.route-header-tools{display:flex;align-items:center;gap:14px;margin-left:0;margin-right:24px;order:-1}
.logo-import{position:relative;display:flex;align-items:center;justify-content:center;width:76px;height:62px;border:1px dashed #70a7e9;border-radius:14px;background:#fff;color:#52769b;font-size:11px;font-weight:800;cursor:pointer;overflow:hidden}
.logo-import input{position:absolute;width:1px;height:1px;opacity:0}
.logo-import img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.logo-import-placeholder{pointer-events:none}
.route-header-tools .route-tab{margin:0}
.route-date-tabs{display:flex;gap:10px;overflow-x:auto;margin:0 0 26px;padding:0 0 1px;border-bottom:1px solid #c9d8e8}
.route-date-tab{display:flex;align-items:center;gap:4px;flex:0 0 auto;background:#dce7f2;border:1px solid #c9d8e8;border-bottom:0;border-radius:14px 14px 0 0;padding:7px 10px 7px 14px;color:#547191}
.route-date-tab.active{background:#e5eef8;border-color:#4f8bd5;color:#1e5da9}
.route-date-tab button{border:0;background:transparent;color:inherit;padding:5px;cursor:pointer}
.route-date-tab .date-select{font:700 15px inherit;letter-spacing:.2px}
.route-date-tab .date-edit,.route-date-tab .date-delete{display:inline-flex;align-items:center;justify-content:center;opacity:.65}
.route-date-tab .date-edit:hover,.route-date-tab .date-delete:hover{opacity:1;background:#cbdbea}
.route-date-tab svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.date-total-bar{display:flex;align-items:center;justify-content:space-between;margin:0 0 28px;padding:19px 22px;border:1px solid #8bb5e5;border-radius:15px;background:rgba(255,255,255,.55);color:#627d9e;letter-spacing:1.5px;font-size:16px}
.date-total-bar strong{color:#2460ad;font-size:26px;letter-spacing:0}
.receipt-entry{width:42px;height:42px;padding:0;border:0;border-radius:50%;background:var(--blue);color:#fff;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
.receipt-entry:hover{background:#0f4f9e;color:#fff}
.large-button.icon-only{width:62px;padding:18px;display:inline-flex;align-items:center;justify-content:center}
.large-button.icon-only svg,.receipt-entry svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.add-entry-button{display:inline-flex;align-items:center;gap:8px}.add-entry-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#accountingReceiptDialog{width:min(680px,calc(100% - 30px));max-width:680px;padding:0;border:0;border-radius:10px;background:#f6f8fc;box-shadow:0 20px 70px #0005}
#accountingReceiptDialog::backdrop{background:#102033aa}
.receipt-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid #cbd8e7;color:#687c97;font-size:18px;letter-spacing:2px}
.receipt-dialog-head label{display:flex;align-items:center;gap:6px}.receipt-dialog-head input{width:86px;border:0;border-bottom:1px solid #8fa5bd;background:transparent;color:#687c97;font:inherit;letter-spacing:2px;outline:0}
.receipt-close{width:38px;height:38px;padding:0;border:0;border-radius:10px;background:#123f78;color:#fff;font-size:30px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.receipt-close:hover{background:#0d315f;color:#fff}
.receipt-paper{margin:30px;padding:40px;border:2px solid #111;background:#fff;color:#111;font-size:18px}
.receipt-editor{display:grid;grid-template-columns:150px 1fr;gap:24px;margin-bottom:22px;padding:14px;background:#f0f4f8;border:1px solid #cbd8e7;border-radius:8px}.receipt-editor label{font-size:12px;font-weight:700}.receipt-company-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.receipt-editor input{height:32px;margin-top:5px;padding:5px 8px;border:1px solid #b8c9da;border-radius:5px;background:#fff;font:inherit;font-size:12px}.receipt-logo-editor{display:flex;flex-direction:column;gap:5px;justify-content:center}.receipt-logo-editor input{display:none}.receipt-logo-editor span{display:inline-block;padding:9px;background:#1760b8;color:#fff;border-radius:5px;text-align:center;cursor:pointer}.receipt-client-field{font-weight:700}.receipt-editable{width:100%;min-width:180px}.receipt-items select{width:100%;padding:5px;border:1px solid #777;background:#fff;font:inherit}
.receipt-header{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;border-bottom:2px solid #111;padding-bottom:20px}.receipt-logo{height:125px;border:1px solid #eef1f2;display:flex;align-items:center;justify-content:center}.receipt-logo img{max-width:100%;max-height:100%;object-fit:contain}.receipt-logo-text{font-size:34px;letter-spacing:3px}.receipt-header h2{margin:0 0 8px;font-size:22px}.receipt-header strong{font-size:17px}.receipt-header p{margin:5px 0 0;font-size:13px;line-height:1.35}.receipt-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;border-bottom:2px solid #111;padding:18px 0}.receipt-meta p{margin:0;font-size:14px}.receipt-items,.receipt-payment{width:100%;border-collapse:collapse;margin-top:20px;font-size:13px}.receipt-items th,.receipt-items td,.receipt-payment th,.receipt-payment td{border:1px solid #111;padding:7px;text-align:left}.receipt-items th:not(:first-child),.receipt-items td:not(:first-child),.receipt-payment th:not(:first-child),.receipt-payment td:not(:first-child){text-align:center}.receipt-paper>.receipt-total-value{float:right}.receipt-paper>.receipt-description{border-top:1px solid #111;border-bottom:1px solid #111;padding:16px 0;margin-top:24px}.receipt-signature-line{margin-top:34px;border-top:1px solid #111;padding-top:12px;font-size:14px}.receipt-signature-space{height:55px}
.receipt-brand{text-align:center;font-weight:800;letter-spacing:4px;font-size:22px;margin-bottom:28px}
.receipt-title{display:flex;justify-content:space-between;border-top:3px solid #111;border-bottom:3px solid #111;padding:11px 0;margin-bottom:26px;font-size:20px}
.receipt-paper label{display:block;margin:18px 0 22px;line-height:1.5}
.receipt-paper input{display:block;width:100%;height:34px;padding:2px 0;border:0;border-bottom:1px solid #111;border-radius:0;background:#fff;color:#111;font:inherit;outline:0}
.receipt-paper input:focus{border-bottom:2px solid var(--blue)}
.receipt-line{height:28px;border-bottom:1px solid #111;margin-bottom:25px}
.receipt-paper p{margin:18px 0}
.receipt-issue-date{text-align:right;margin-top:38px!important}
.receipt-signature{text-align:center;font-weight:800;letter-spacing:1px;margin-top:78px}.receipt-signature img{display:block;width:306px;height:129px;object-fit:contain;filter:contrast(1.45) saturate(1.35);margin:0 auto -8px}
.receipt-actions{padding:0 28px 24px}
.receipt-actions svg{width:18px;height:18px;vertical-align:-4px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-right:5px}
.receipt-actions .icon-only{width:42px;height:42px;padding:9px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}
.receipt-actions .icon-only svg{width:21px;height:21px;margin:0}
.whatsapp-button{background:#25d366;color:#fff}
.model-nav{display:flex;align-items:stretch;height:100%;gap:22px}
.model-nav button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:0 12px;background:transparent;color:#607895;font-size:19px;font-weight:400;cursor:pointer}
.model-nav button.selected{color:#1760b8;border-bottom-color:#1760b8}
.model-date-tab{display:flex;align-items:center;gap:3px;padding:0 5px 0 12px}
.model-date-tab button{border:0;background:transparent;color:inherit;cursor:pointer}
.model-date-tab .date-select{font:700 14px inherit;padding:9px 3px}
.model-date-tab .date-edit,.model-date-tab .date-delete{font-size:17px;padding:6px;color:#89a0b7}
.model-date-tab .date-edit:hover,.model-date-tab .date-delete:hover{color:#1760b8}
.model-route-total{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding:20px 24px;border:1px solid #8bb5e5;border-radius:15px;background:rgba(255,255,255,.55);color:#627d9e;letter-spacing:1.5px;font-size:16px}
.model-route-total strong{color:#2460ad;font-size:26px;letter-spacing:0}
.master-client-list{display:grid;gap:10px}.master-client-row{display:grid;grid-template-columns:45px 1fr 42px;align-items:center;gap:12px;padding:10px;border-bottom:1px solid #d2dfec;color:#6c87a5}.master-client-row input{height:45px;border:1px solid #c6d7e7;border-radius:12px;background:#d9e4ee;padding:0 14px;color:#1e3554;font:inherit;outline:0}.master-client-row button{width:34px;height:34px;padding:0;border:0;background:transparent;color:#657f9d;font-size:18px;cursor:pointer}
.accounting-list{display:grid;gap:18px}.accounting-block h2{margin:0 0 15px;color:#193a61;font-size:20px}.accounting-entry{display:grid;grid-template-columns:1fr 1.5fr 130px 42px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #d2dfec;color:#607895}.accounting-entry strong{text-align:right;color:#1760b8}.accounting-total{display:flex;justify-content:space-between;margin-top:18px;padding-top:15px;border-top:2px solid #c2d5e8;color:#607895}.accounting-total strong{color:#1760b8;font-size:22px}
@media(max-width:760px){.model-nav{height:62px;justify-content:space-between;gap:0;margin-top:12px}.model-nav button{padding:0 4px;font-size:12px}.accounting-entry{grid-template-columns:1fr 1fr 90px 36px}.model-route-total{font-size:13px}.model-route-total strong{font-size:22px}}
.row-delete,.city-delete{font-size:0!important}
.row-delete::before,.city-delete::before{content:none;display:none}
.model-date-tab .date-delete{font-size:0}.model-date-tab .date-delete::before{content:'\1F5D1';font-size:16px}
@media(max-width:760px){.receipt-paper{margin:12px;padding:18px;font-size:14px}.receipt-editor{grid-template-columns:1fr}.receipt-company-fields{grid-template-columns:1fr}.receipt-header{grid-template-columns:90px 1fr;gap:12px}.receipt-logo{height:90px}.receipt-header h2{font-size:17px}.receipt-header strong{font-size:12px}.receipt-header p,.receipt-meta p{font-size:10px}.receipt-items,.receipt-payment{font-size:10px}.receipt-items th,.receipt-items td,.receipt-payment th,.receipt-payment td{padding:4px}}
@page{size:auto;margin:10mm}
@media print{body.printing-receipt>*:not(#accountingReceiptDialog){display:none!important}body.printing-receipt #accountingReceiptDialog{position:static!important;display:block!important;width:100%;max-width:none;box-shadow:none;background:#fff}body.printing-receipt #accountingReceiptDialog .receipt-dialog-head,body.printing-receipt #accountingReceiptDialog .receipt-editor,body.printing-receipt #accountingReceiptDialog .receipt-actions{display:none!important}body.printing-receipt .receipt-paper{margin:0;border:2px solid #111;min-height:250mm}body.printing-receipt .receipt-paper input,body.printing-receipt .receipt-paper select{border:0;background:transparent;appearance:none;padding:0}}
.simple-receipt-paper{font-family:Arial,sans-serif;min-height:410px;padding:26px;max-width:800px}.simple-receipt-paper .receipt-brand{text-align:center;font-weight:800;letter-spacing:4px;font-size:18px;margin:0 0 20px}.simple-receipt-paper .receipt-title{display:flex;justify-content:space-between;border-top:2px solid #111;border-bottom:2px solid #111;padding:9px 0;margin-bottom:16px;font-size:16px}.simple-receipt-paper label{display:flex;align-items:baseline;gap:5px;margin:12px 0;line-height:1.4;font-size:15px}.simple-receipt-paper label input{flex:1;min-width:0}.simple-receipt-paper label textarea{flex:1;min-width:0;min-height:60px;resize:vertical;border:0;border-bottom:1px solid #111;background:#fff;color:#111;font:inherit;outline:0;padding:2px 0}.simple-receipt-paper label textarea:focus{border-bottom:2px solid var(--blue)}.simple-receipt-paper .receipt-line{height:24px;margin-top:14px}.simple-receipt-paper .receipt-service-date{display:flex;align-items:center;gap:5px;font-size:14px}.simple-receipt-paper .receipt-service-date input{display:inline-block;width:130px;flex:0 0 130px}.simple-receipt-paper .receipt-issue-date{font-size:14px;text-align:right;margin-top:24px}.simple-receipt-paper .receipt-signature{margin-top:28px;text-align:center;font-weight:800;letter-spacing:1px;font-size:14px}.simple-receipt-paper .receipt-signature-space{height:30px;border-bottom:0}.simple-receipt-paper input:focus{border-bottom:2px solid var(--blue)}
@media(max-width:760px){.simple-receipt-paper{margin:12px;padding:18px;font-size:14px}.simple-receipt-paper label{display:block;font-size:13px}.simple-receipt-paper label input,.simple-receipt-paper label textarea{margin-top:5px}.simple-receipt-paper .receipt-title{font-size:14px}}
.simple-receipt-paper .receipt-signature{margin-top:28px}.simple-receipt-paper .receipt-signature-space{width:270px;max-width:100%;height:78px;margin:0 auto 2px;background:url('/assinatura-recibo-limpa.png') center/contain no-repeat}.receipt-bottom-border{height:2px;margin-top:10px;background:#111;break-after:avoid;page-break-after:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.simple-receipt-paper .receipt-signature{transform:translateY(-40px)}
@media print{.simple-receipt-paper .receipt-signature-space{height:78px}}
@media print{body.printing-receipt #accountingReceiptDialog{width:min(680px,calc(100% - 30px));max-width:680px;margin:0 auto;border-radius:10px;background:#f6f8fc}body.printing-receipt .simple-receipt-paper{margin:30px;padding:26px;border:2px solid #111;min-height:410px;max-width:800px}body.printing-receipt .simple-receipt-paper input{border:0;border-bottom:1px solid #111;background:#fff;appearance:auto;padding:2px 0}body.printing-receipt .simple-receipt-paper .receipt-service-date input{border:1px solid #111;padding:2px 4px}}
@media print{@page{size:auto;margin:0}body.printing-receipt #accountingReceiptDialog{width:min(680px,100%);max-width:680px;margin:0 auto;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important}body.printing-receipt #accountingReceiptDialog::backdrop{background:transparent!important}body.printing-receipt .simple-receipt-paper{width:auto;max-width:none;height:auto;min-height:0;margin:30px;padding:26px 26px 0;border:1px solid #111;border-bottom:0;overflow:visible;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.printing-receipt .simple-receipt-paper .receipt-bottom-border{display:block;width:calc(100% + 54px);height:2px;margin:10px -27px 0;background:#111}body.printing-receipt .simple-receipt-paper input{border-bottom:1px solid #111;background:#fff;appearance:none;padding:2px 0}body.printing-receipt .simple-receipt-paper .receipt-service-date input{border:0;border-bottom:1px solid #111;padding:2px 0}}
.route-client{grid-template-columns:30px 45px 1fr 190px 42px 55px}.route-client.paid .route-freight{background:var(--blue);border-color:var(--blue);color:#fff}.route-client.paid .route-freight input{color:#fff}.payment-toggle{width:42px;height:42px;padding:8px;border:1px solid #70a7e9;border-radius:14px;background:#dfeaf6;color:var(--blue);display:inline-flex;align-items:center;justify-content:center}.payment-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.route-client.paid .payment-toggle{background:var(--blue);color:#fff}
@media(max-width:760px){.route-client{grid-template-columns:24px 34px 1fr 110px 34px 40px;gap:5px}.payment-toggle{width:34px;height:34px;padding:5px}.payment-toggle svg{width:20px;height:20px}}
.route-client{grid-template-columns:30px 45px 1fr 190px 42px 42px 42px}.circle-action{width:42px;height:42px;padding:8px;border:0;border-radius:50%;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:25px;line-height:1}.circle-action svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.payment-toggle{background:var(--blue);color:#fff}.route-client.paid .payment-toggle{background:var(--blue);color:#fff}
@media(max-width:760px){.route-client{grid-template-columns:24px 34px 1fr 110px 34px 34px 34px}.circle-action{width:34px;height:34px;padding:5px;font-size:20px}.circle-action svg{width:20px;height:20px}}
.route-list .delete-client::before{content:none}
.move-controls{width:28px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.move-controls button{width:28px;height:21px;padding:0;border:0;border-radius:0;background:transparent;color:var(--blue);font-size:22px;font-weight:500;line-height:18px}.move-controls button:hover{background:#dfeaf6;filter:none}.city-heading .move-controls{height:57px;width:30px}
.route-print-sheet{display:none}
.route-app-shell{min-height:100vh;background:linear-gradient(135deg,#edf4fb,#e5eef7);color:#193557}.model-header{height:112px;border-bottom:1px solid #d2dfec;display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:30px}.model-brand{display:flex;align-items:center;gap:11px;min-width:250px}.model-brand strong{font-size:20px;letter-spacing:4px}.model-logo{width:80px;height:80px;border:1px solid #78a6dc;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#17395e;font-size:17px;font-weight:900;background-position:center;background-size:contain;background-repeat:no-repeat;overflow:hidden}.model-logo.has-logo span{visibility:hidden}.model-brand input[type=file]{display:none}.model-header nav{display:flex;align-items:stretch;height:100%;gap:22px}.model-header nav button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:0 12px;background:transparent;color:#607895;font-size:19px;font-weight:400}.model-header nav button.selected{color:#1760b8;border-bottom-color:#1760b8}.model-main{padding:30px 15px 60px;max-width:1000px;margin:0 auto}.model-title-row{display:flex;align-items:center;gap:20px;margin-bottom:29px}.model-title-row h1{margin:0;font-size:27px;letter-spacing:1px}.model-date-editor{display:flex;gap:20px;align-items:center}.model-date-editor label,.model-date-editor>span{height:47px;padding:0 22px;border-radius:15px;background:#d3e0ee;display:flex;align-items:center;gap:10px;color:#1f4b7c;font-size:15px}.model-date-editor input{border:0;background:transparent;color:#1d395c;font-size:15px;outline:0}.model-date-editor span{font-size:11px;letter-spacing:1px;color:#607d9d}.model-date-editor span b{font-size:17px;color:#1c60b2}.model-actions{margin-left:auto;display:flex;gap:10px}.model-actions button{width:51px;height:51px;border:0;border-radius:15px;background:#d3e0ee;color:#1b416c;font-size:25px}.model-actions button:first-child{background:#1760b8;color:white}.model-date-tabs{display:flex;gap:10px;align-items:stretch;border-bottom:1px solid #cfdeeb;padding-bottom:10px;overflow:auto}.model-date-tab,.new-date{min-width:165px;height:38px;border:1px solid #cbdbea;border-radius:14px 14px 0 0;background:#d6e3ef;color:#58718e;font-size:14px;font-weight:700;white-space:nowrap}.model-date-tab.active{border-color:#2370ca;background:#cadff5;color:#0757ad}.model-date-tab span,.model-date-tab b{margin-left:10px;color:#89a0b7}.new-date{min-width:115px;border-style:dashed;color:#1760b8}.model-city-card{margin-top:40px;padding:26px 25px 24px;border:1px solid #cedce8;border-radius:16px;background:rgba(255,255,255,.75);box-shadow:0 10px 22px rgba(37,75,112,.08)}.model-city-head{display:grid;grid-template-columns:40px 1fr 42px 42px;align-items:center;gap:14px}.city-move{color:#87a4c3;text-align:center;line-height:19px}.model-city-head input{height:57px;border:1px solid #c6d7e7;border-radius:16px;background:#d9e4ee;padding:0 20px;color:#1e3554;font-size:21px;font-weight:800;outline:0}.city-add,.city-delete{width:42px;height:42px;border:1px dashed #75a3d4;border-radius:50%;background:transparent;color:#1b61b5;font-size:25px}.city-delete{border:0;font-size:20px;color:#5f7897}.model-client-table{margin-top:20px;padding:16px 20px;border:1px solid #d0dfeb;border-radius:16px;background:#e4edf5}.model-client-row{display:grid;grid-template-columns:26px 32px minmax(170px,1fr) 38px 100px 38px 28px;align-items:center;gap:8px;min-height:51px}.model-client-row+.model-client-row{border-top:1px solid #cddce9;padding-top:10px;margin-top:10px}.row-drag,.row-number{color:#6c87a5;font-size:13px;text-align:center}.model-client-row input{height:51px;border:1px solid #c6d7e6;border-radius:15px;background:#d9e4ee;padding:0 18px;font:inherit;color:#344e6d;outline:0}.row-money{width:38px;height:38px;border:1px dashed #75a3d4;border-radius:50%;background:transparent;color:#1760b8;font-size:20px}.model-client-freight{text-align:right}.row-add,.row-delete{border:1px dashed #75a3d4;background:transparent;color:#1760b8;border-radius:50%;width:34px;height:34px;font-size:22px}.row-delete{border:0;color:#657f9d;font-size:18px}.model-city-footer{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:19px;color:#6b849f;font-size:13px}.model-city-footer strong{font-size:20px;color:#1760b8}.add-client-footer{border:0;border-radius:8px;background:#1760b8;color:#fff;padding:10px 13px;font-weight:700}.model-empty{text-align:center;margin-top:40px;padding:45px;background:#fff;border:1px solid #d2e0ec;border-radius:16px;color:#6b849f}@media(max-width:760px){.model-header{height:auto;padding:15px;display:block}.model-brand{min-width:0}.model-header nav{height:62px;justify-content:space-between;gap:0;margin-top:12px}.model-header nav button{padding:0 4px;font-size:12px}.model-main{padding:22px 12px}.model-title-row{flex-wrap:wrap}.model-date-editor{width:100%;gap:8px}.model-date-editor label,.model-date-editor>span{padding:0 12px}.model-actions{margin-left:auto}.model-city-card{padding:18px 10px}.model-city-head{grid-template-columns:25px 1fr 34px 28px;gap:6px}.model-city-head input{font-size:16px;padding:0 12px}.model-client-table{padding:10px 7px;overflow-x:auto}.model-client-row{grid-template-columns:20px 24px minmax(140px,1fr) 30px 80px 30px 20px;gap:4px}.model-client-row input{padding:0 8px;font-size:13px}.model-city-footer{flex-wrap:wrap}}
@media print{body.printing-route>*:not(.route-print-sheet){display:none!important}body.printing-route .route-print-sheet{display:block;width:100%;padding:25px;color:#111;background:#fff;font-family:Arial,sans-serif}.route-print-sheet h1{text-align:center;font-size:22px;letter-spacing:2px;margin:0 0 24px}.route-print-total{display:flex;justify-content:space-between;border:2px solid #111;padding:14px;margin-bottom:24px;font-size:17px}.route-print-total strong{font-size:20px}.route-print-sheet section{margin-bottom:20px}.route-print-sheet h2{border-bottom:2px solid #111;padding-bottom:7px;margin:0 0 8px;font-size:17px}.route-print-client{display:flex;justify-content:space-between;border-bottom:1px solid #bbb;padding:7px 4px;font-size:14px}.route-print-client strong{white-space:nowrap}}
@media print{body.printing-route .route-print-sheet{width:calc(100% - 20px);margin:10px;border:2px solid #111;padding:25px;color:#111;background:#fff;box-sizing:border-box}}

/* A impressão e o PDF espelham a tela da rota, sem controles ou ícones. */
.route-print-frame{font-family:Inter,Arial,sans-serif;color:#193557;background:linear-gradient(135deg,#edf4fb,#e5eef7);padding:28px;min-height:100vh}
.route-print-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid #c6d8ea}
.route-print-header small,.route-print-header strong{display:block}.route-print-header small{font-size:10px;letter-spacing:1px}.route-print-header strong{font-size:20px;letter-spacing:4px}.route-print-header h1{margin:0;font-size:27px;letter-spacing:1px}.route-print-date{justify-self:end;text-align:right;font-size:14px;color:#1f4b7c}.route-print-date span{display:block;margin-top:6px;font-size:11px;letter-spacing:1px;color:#607d9d}.route-print-date b{font-size:16px;color:#1c60b2}
.route-print-total{display:flex;justify-content:space-between;align-items:center;margin:28px 0;border:1px solid #1760b8;border-radius:15px;background:rgba(255,255,255,.55);padding:19px 22px;color:#627d9e;letter-spacing:1.5px;font-size:16px}.route-print-total strong{color:#2460ad;font-size:26px;letter-spacing:0}
.route-print-city-card{margin-top:20px;padding:26px 25px 24px;border:1px solid #c6d8ea;border-radius:16px;background:rgba(255,255,255,.75)}.route-print-city-card h2{margin:0 0 20px;font-size:21px;color:#193557}.route-print-table{padding:16px 20px;border:1px solid #1760b8;border-radius:16px;background:#e4edf5}.route-print-client{display:grid;grid-template-columns:32px 1fr 110px;align-items:center;gap:14px;min-height:65px}.route-print-client+.route-print-client{border-top:1px solid #1760b8;padding-top:10px;margin-top:10px}.route-print-number{color:#6c87a5;text-align:center;font-size:13px}.route-print-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.route-print-fields small{display:block;margin-bottom:4px;color:#607895;font-size:9px;font-weight:800;letter-spacing:.6px}.route-print-fields span{display:block;min-height:27px;padding:6px 10px;border:1px solid #c6d7e6;border-radius:10px;background:#d9e4ee;color:#344e6d;font-size:14px}.route-print-client>strong{text-align:right;color:#1760b8;font-size:16px}
@media print{body.printing-route .route-print-sheet{display:block;width:100%;padding:0;background:#fff}.route-print-frame{min-height:0;padding:25px;background:linear-gradient(135deg,#edf4fb,#e5eef7);print-color-adjust:exact;-webkit-print-color-adjust:exact}.route-print-header{border:1px solid #111;padding:18px 20px 24px}.route-print-city-card{break-inside:avoid}.route-print-table{break-inside:avoid}}

.client-print-sheet{display:none}
.simple-receipt-paper{position:relative}
.simple-receipt-logo{position:static;width:70px;height:70px;display:flex;align-items:center;justify-content:center;flex:0 0 70px}.simple-receipt-logo img{max-width:100%;max-height:100%;object-fit:contain}
.simple-receipt-paper.has-receipt-logo .receipt-brand{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:0}
.clients-page-heading .model-actions{display:none!important}
@media print{body.printing-clients>*:not(.client-print-sheet){display:none!important}body.printing-clients .client-print-sheet{display:block;width:calc(100% - 20px);margin:10px;border:2px solid #111;padding:25px;color:#111;background:#fff;font-family:Arial,sans-serif;box-sizing:border-box}.client-print-sheet section{margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #bbb}.client-print-sheet section div{display:flex;gap:12px;padding:6px 0;font-size:14px}.client-print-sheet section strong{width:80px}.client-print-sheet section span{flex:1}}
.model-nav button svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.model-brand-copy{display:flex;flex-direction:column;gap:2px}.model-brand-copy small{font-size:10px;line-height:1;letter-spacing:2px;color:#607895;font-weight:300}.model-brand-copy strong{line-height:1}
.model-actions button svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.model-client-row .row-delete,.model-city-head .city-delete{width:42px;height:42px;border:0;border-radius:50%;background:#1760b8;color:#fff;display:flex;align-items:center;justify-content:center;padding:0}.model-client-row .row-delete svg,.model-city-head .city-delete svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.model-client-row{grid-template-columns:26px 32px minmax(170px,1fr) 38px 100px 38px 42px}
@media(max-width:760px){.model-client-row .row-delete,.model-city-head .city-delete{width:34px;height:34px}.model-client-row .row-delete svg,.model-city-head .city-delete svg{width:19px;height:19px}.model-client-row{grid-template-columns:20px 24px minmax(140px,1fr) 30px 80px 30px 34px}}
.clients-page{max-width:1200px}.annotations-card{position:relative;margin-bottom:34px;padding:18px 20px 18px;border:1px solid #d2dfec;border-radius:16px;background:rgba(255,255,255,.72);box-shadow:0 10px 22px rgba(37,75,112,.06)}.annotations-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.annotations-heading h2{margin:0;color:#193a61;font-size:16px;letter-spacing:1px}.annotations-heading span{color:#8ca0b7;font-size:12px}.annotation-row{display:grid;grid-template-columns:30px 1fr 55px 34px;align-items:center;gap:10px;margin:8px 0}.annotation-row b{color:#1760b8;font-size:12px}.annotation-row input,.client-fields input{width:100%;height:40px;border:1px solid #c6d7e7;border-radius:14px;background:#d9e4ee;padding:0 18px;color:#344e6d;font:inherit;outline:0}.annotation-row span,.client-fields label>span{color:#9aacc0;font-size:11px;text-align:right}.annotation-delete{width:32px;height:32px;border:0;border-radius:50%;background:#1760b8;color:#fff;font-size:17px;cursor:pointer}.annotation-add{position:absolute;right:20px;bottom:18px;width:34px;height:34px;border:0;border-radius:50%;background:#1760b8;color:#fff;font-size:23px;line-height:1;cursor:pointer}.clients-page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.clients-page-heading h1{margin:0;color:#193a61;font-size:27px;letter-spacing:2px}.clients-page-heading p{margin:10px 0 0;color:#607895;font-size:14px}.client-data-card{display:grid;grid-template-columns:42px 1fr 75px;gap:14px;align-items:center;margin:18px 0;padding:16px 20px;border:1px solid #9ad8c2;border-radius:16px;background:rgba(255,255,255,.7)}.client-data-card.delivered{border-color:#63b992}.client-card-number{align-self:start;padding-top:7px;color:#1760b8;font-size:12px;font-weight:700}.client-fields{display:grid;gap:10px}.client-fields label{display:grid;grid-template-columns:65px 1fr 45px;align-items:center;gap:10px;color:#6d84a0;font-size:11px;letter-spacing:.5px}.delivery-toggle{width:58px;height:58px;border:0;border-radius:50%;background:#20a875;color:#fff;font-size:25px;cursor:pointer}.delivery-toggle small{display:block;margin-top:4px;color:#159369;font-size:9px;font-weight:700}.client-data-card:not(.delivered) .delivery-toggle{background:#d3e0ee;color:#1760b8}.client-data-card:not(.delivered) .delivery-toggle small{color:#1760b8}.clients-page>.add-client-footer{display:block;margin:20px 0 0 auto}.clients-page .model-actions button{width:51px;height:51px;border-radius:15px}.clients-page .model-actions button:first-child{background:#1760b8;color:#fff}.clients-page .model-actions button svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.annotations-card{padding:15px}.annotation-row{grid-template-columns:25px 1fr 42px 30px;gap:5px}.clients-page-heading{display:block}.clients-page-heading .model-actions{margin-top:18px;justify-content:flex-end}.client-data-card{grid-template-columns:30px 1fr;gap:8px;padding:12px}.delivery-toggle{grid-column:2;width:48px;height:48px;justify-self:end}.client-fields label{grid-template-columns:52px 1fr;gap:5px}.client-fields label>span{display:none}}
.client-actions{display:flex;align-items:center;justify-content:center;gap:8px}.client-add,.client-delete{width:42px;height:42px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.client-add{background:#1760b8;color:#fff;font-size:25px;line-height:1}.client-add:hover{background:#0f4f9e}.client-delete{background:#d3e0ee;color:#1760b8}.client-delete:hover{background:#f4d6dc;color:#b4233d}.client-delete svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.annotation-row{grid-template-columns:30px 1fr 55px 34px 34px}.annotation-add-row,.annotation-delete-row{width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#1760b8;color:#fff;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.annotation-delete-row svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.annotation-add{display:none}
@media(max-width:760px){.annotation-row{grid-template-columns:25px minmax(100px,1fr) 38px 30px 30px;gap:5px}.annotation-add-row,.annotation-delete-row{width:30px;height:30px;font-size:18px}.annotation-delete-row svg{width:16px;height:16px}}
.annotation-delete{display:flex;align-items:center;justify-content:center}.annotation-delete svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.model-client-row{grid-template-columns:26px 32px 24px minmax(170px,1fr) 38px 100px 38px 42px}.highlight-toggle{width:22px;height:22px;padding:0;border:1px solid #9ab0c6;border-radius:50%;background:#eef3f7;color:#9ab0c6;font-size:11px;line-height:1;cursor:pointer}.model-client-row.highlighted .highlight-toggle{border-color:#20a875;background:#20a875;color:#fff}.model-client-row.highlighted .model-client-name{background:#20a875;border-color:#20a875;color:#fff}.model-client-row.highlighted .model-client-name::placeholder{color:#fff}
@media(max-width:760px){.model-client-row{grid-template-columns:20px 24px 22px minmax(120px,1fr) 30px 80px 30px 34px;gap:4px}.highlight-toggle{width:20px;height:20px;font-size:10px}}
.model-client-row{grid-template-columns:26px 32px 24px minmax(170px,1fr) 52px 100px 38px 42px}.model-client-row .payment-toggle{width:52px;height:32px;padding:0;border-radius:8px;font-size:11px;font-weight:800}.model-client-row.paid .payment-toggle{background:#1760b8;color:#fff;border-color:#1760b8}.model-client-row.paid .model-client-freight{background:#1760b8;border-color:#1760b8;color:#fff}.model-client-row.paid .model-client-freight::placeholder{color:#fff}
@media(max-width:760px){.model-client-row{grid-template-columns:20px 24px 22px minmax(120px,1fr) 46px 80px 30px 34px}.model-client-row .payment-toggle{width:46px;height:30px;font-size:9px}}
.model-client-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}
.model-client-fields label{display:block;min-width:0}
.model-client-fields small{display:block;width:max-content;max-width:100%;margin:0 0 4px;padding:2px 6px;border:1px solid #9ab0c6;border-radius:5px;color:#607895;font-size:9px;font-weight:800;letter-spacing:.6px;line-height:1.1;white-space:nowrap}
.model-client-fields input{width:100%;box-sizing:border-box}
@media(max-width:760px){.model-client-fields{min-width:220px;gap:5px}.model-client-fields small{font-size:8px;padding:2px 4px}.model-client-fields input{padding:0 7px!important;font-size:12px!important}}
.route-app-shell{border:2px solid #1760b8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 0 24px rgba(23,96,184,.18)}
.accounting-paid{display:inline-block;padding:3px 7px;border-radius:4px;background:#1760b8;color:#fff;font-size:50%;font-weight:800;line-height:1;vertical-align:middle}
.model-client-row.highlighted .model-client-collect-delivery{background:#20a875;border-color:#20a875;color:#fff}
.model-client-row.highlighted .model-client-collect-delivery::placeholder{color:#fff}
.clients-page .client-fields label{grid-template-columns:85px 1fr}
.clients-page .client-delete{font-size:25px;font-weight:400;line-height:1}

/* Campos principais da rota com o mesmo azul do contorno do aplicativo. */
.model-city-head .model-city-name{border:1px solid #1760b8}
.model-city-card .model-client-table{border:1px solid #1760b8}

@media(max-width:760px){.clients-page .client-fields label{grid-template-columns:52px 1fr}}
@media(max-width:600px){
  html,body{max-width:100%;overflow-x:hidden}
  button,input,select,textarea{font-size:16px;touch-action:manipulation}
  .route-app-shell{border-width:1px}
  .model-header{padding:12px 10px}
  .model-brand{gap:8px;min-width:0}
  .model-logo{width:58px;height:58px;border-radius:12px;font-size:11px}
  .model-brand-copy small{font-size:8px;letter-spacing:1px}
  .model-brand-copy strong{font-size:16px;letter-spacing:2px}
  .model-header nav{gap:0;margin-top:10px}
  .model-header nav button{min-width:44px;padding:0 3px}
  .model-nav button svg{width:21px;height:21px}
  .model-main{width:100%;max-width:none;padding:16px 10px 42px}
  .model-title-row{display:block;margin-bottom:16px}
  .model-title-row h1,.clients-page-heading h1{font-size:22px;letter-spacing:1px}
  .model-date-editor{display:flex;flex-wrap:wrap;width:100%;gap:8px;margin-top:12px}
  .model-date-editor label,.model-date-editor>span{height:42px;padding:0 10px;font-size:12px}
  .model-date-editor input{font-size:14px;max-width:125px}
  .model-actions{margin:12px 0 0;justify-content:flex-end}
  .model-actions button{width:44px;height:44px;border-radius:12px}
  .model-date-tabs{gap:6px;padding-bottom:8px}
  .model-date-tab,.new-date{min-width:128px;height:34px;border-radius:10px 10px 0 0;font-size:12px}
  .date-total-bar{padding:12px 10px;font-size:12px}
  .date-total-bar strong{font-size:18px}
  .model-city-card{margin-top:16px;padding:14px 8px 16px;border-radius:12px}
  .model-city-head{grid-template-columns:24px minmax(0,1fr) 36px 32px;gap:6px}
  .model-city-head input{height:46px;padding:0 10px;font-size:16px;border-radius:12px}
  .city-add,.city-delete{width:32px;height:32px;font-size:20px}
  .model-client-table{margin-top:12px;padding:8px 6px;overflow:visible;border-radius:12px}
  .model-client-row{grid-template-columns:22px 24px 22px minmax(0,1fr) 34px;grid-template-rows:auto auto;gap:5px;min-height:72px;position:relative;padding-bottom:6px}
  .model-client-row+.model-client-row{padding-top:8px;margin-top:8px}
  .model-client-row .move-controls{grid-column:1;grid-row:1 / span 2;width:22px}
  .model-client-row .row-number{grid-column:2;grid-row:1 / span 2}
  .model-client-row .highlight-toggle{grid-column:3;grid-row:1 / span 2}
  .model-client-fields{grid-column:4;grid-row:1;display:grid;grid-template-columns:1fr;min-width:0;gap:4px}
  .model-client-fields small{font-size:8px;margin-bottom:2px}
  .model-client-fields input{height:38px!important;padding:0 8px!important;font-size:13px!important;border-radius:10px}
  .model-client-row .payment-toggle{grid-column:4;grid-row:2;width:46px;height:28px;font-size:9px;justify-self:start}
  .model-client-row .model-client-freight{position:absolute;right:38px;bottom:5px;width:82px;height:34px!important;padding:0 8px!important;font-size:13px!important}
  .model-client-row .circle-action{position:absolute;right:0;bottom:3px;width:32px;height:32px;font-size:19px}
  .model-client-row .row-delete{grid-column:5;grid-row:1;width:32px;height:32px}
  .clients-page-heading{display:flex;align-items:center;margin-bottom:16px}
  .clients-page-heading p{font-size:12px;margin-top:6px}
  .clients-page-heading>.client-add{flex:0 0 42px;width:42px;height:42px;padding:0;font-size:24px}
  .client-data-card{grid-template-columns:28px minmax(0,1fr) 42px;gap:8px;margin:12px 0;padding:12px 10px;border-radius:12px}
  .client-fields{gap:8px}
  .client-fields label{grid-template-columns:64px minmax(0,1fr);gap:6px;font-size:10px}
  .client-fields input{height:38px;font-size:14px;padding:0 9px;border-radius:10px}
  .client-actions{gap:4px}
  .client-delete{width:36px;height:36px;font-size:22px}
  .annotations-card{margin-bottom:20px;padding:12px 10px;border-radius:12px}
  .annotations-heading{margin-bottom:10px}
  .annotations-heading h2{font-size:14px}
  .annotation-row{grid-template-columns:22px minmax(0,1fr) 38px 30px 30px;gap:4px;margin:6px 0}
  .annotation-row input{height:38px;padding:0 8px;font-size:14px;border-radius:10px}
  .annotation-add-row,.annotation-delete-row{width:30px;height:30px}
  .accounting-list{gap:12px}
  .accounting-block{padding:14px 10px}
  .accounting-block h2{font-size:16px}
  .accounting-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 70px 34px;gap:5px;font-size:12px}
  .accounting-entry strong{font-size:12px}
  .receipt-entry{width:34px;height:34px}
  .accounting-total{font-size:12px}
  .accounting-total strong{font-size:18px}
}

/* Divisórias entre lançamentos da mesma rota. */
.model-client-row+.model-client-row{border-top-color:#1760b8}

/* Ações da rota no mesmo círculo azul-claro usado nas abas de data. */
.model-date-tab .date-delete,.model-city-head .city-delete,.model-client-row .row-delete,.model-city-head .circle-action,.model-client-row .circle-action{width:34px;height:34px;padding:0;border:1px solid #9fc2e6;border-radius:50%;background:#cadff5;color:#1760b8;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
.model-date-tab .date-delete svg,.model-city-head .city-delete svg,.model-client-row .row-delete svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.model-date-tab .date-delete:hover,.model-city-head .city-delete:hover,.model-client-row .row-delete:hover,.model-city-head .circle-action:hover,.model-client-row .circle-action:hover{background:#b9d5f2;color:#0757ad}
.model-date-tab .date-delete{font-size:0}
.model-date-tab .date-delete svg{display:none}
@media(max-width:760px){.model-date-tab .date-delete,.model-city-head .circle-action,.model-city-head .city-delete{width:30px;height:30px}.model-client-row .circle-action,.model-client-row .row-delete{width:32px;height:32px}.model-date-tab .date-delete svg,.model-city-head .city-delete svg,.model-client-row .row-delete svg{width:16px;height:16px}}

/* Todas as lixeiras usam o mesmo símbolo original da aba de data. */
.model-city-head .city-delete,.model-client-row .row-delete,.client-delete,.annotation-delete,.annotation-delete-row,.master-client-row [data-delete-client]{font-size:0!important}
.model-city-head .city-delete::before,.model-client-row .row-delete::before,.client-delete::before,.annotation-delete::before,.annotation-delete-row::before,.master-client-row [data-delete-client]::before{content:'\1F5D1';display:block;font-size:16px;line-height:1}
.model-city-head .city-delete svg,.model-client-row .row-delete svg,.client-delete svg,.annotation-delete svg,.annotation-delete-row svg{display:none!important}
.simple-receipt-paper .receipt-company-contact{display:flex;flex-direction:column;align-items:center;gap:3px;margin:-12px 0 20px;font-size:13px;line-height:1.25}.simple-receipt-paper .receipt-company-contact strong{font-size:15px}
.simple-receipt-paper .receipt-title{border-top:0}
.simple-receipt-paper .receipt-document-number{white-space:nowrap;margin-left:12px;font-size:14px;font-weight:700}.simple-receipt-paper #receiptReceivedFrom{flex:1;min-width:0}
@media(max-width:760px){.simple-receipt-paper .receipt-document-number{display:block;margin:6px 0 0}}
.simple-receipt-paper .receipt-requester-input{border:0!important;outline:0;background:transparent}.simple-receipt-paper .receipt-secondary-line{height:2px;margin:32px 0 16px;background:#111}.simple-receipt-paper .receipt-blank-items{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px}.simple-receipt-paper .receipt-blank-items th,.simple-receipt-paper .receipt-blank-items td{border:2px solid #111;padding:8px;text-align:left}.simple-receipt-paper .receipt-blank-items th:nth-child(1),.simple-receipt-paper .receipt-blank-items td:nth-child(1){width:62%}.simple-receipt-paper .receipt-blank-items th:nth-child(2),.simple-receipt-paper .receipt-blank-items td:nth-child(2){width:14%}.simple-receipt-paper .receipt-blank-items th:nth-child(3),.simple-receipt-paper .receipt-blank-items td:nth-child(3),.simple-receipt-paper .receipt-blank-items th:nth-child(4),.simple-receipt-paper .receipt-blank-items td:nth-child(4){width:12%}.simple-receipt-paper .receipt-blank-items td{height:58px}
@media print{.simple-receipt-paper .receipt-requester-input{border:0!important}.simple-receipt-paper .receipt-blank-items{break-inside:avoid;page-break-inside:avoid}}
.simple-receipt-paper .receipt-blank-items input{width:100%;min-width:0;border:0;border-bottom:1px solid #111;background:transparent;font:inherit;padding:2px}.simple-receipt-paper .receipt-blank-items td:nth-child(3) input,.simple-receipt-paper .receipt-blank-items td:nth-child(4) input{width:calc(100% - 22px)}
.simple-receipt-paper .receipt-blank-items th:nth-child(1),.simple-receipt-paper .receipt-blank-items td:nth-child(1){width:58%}.simple-receipt-paper .receipt-blank-items th:nth-child(2),.simple-receipt-paper .receipt-blank-items td:nth-child(2),.simple-receipt-paper .receipt-blank-items th:nth-child(3),.simple-receipt-paper .receipt-blank-items td:nth-child(3){width:21%}
.simple-receipt-paper .receipt-payment-fields{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px}.simple-receipt-paper .receipt-payment-fields th,.simple-receipt-paper .receipt-payment-fields td{border:2px solid #111;padding:8px;text-align:left}.simple-receipt-paper .receipt-payment-fields th:nth-child(1),.simple-receipt-paper .receipt-payment-fields td:nth-child(1){width:58%}.simple-receipt-paper .receipt-payment-fields th:nth-child(2),.simple-receipt-paper .receipt-payment-fields td:nth-child(2),.simple-receipt-paper .receipt-payment-fields th:nth-child(3),.simple-receipt-paper .receipt-payment-fields td:nth-child(3){width:21%}.simple-receipt-paper .receipt-payment-fields input{width:calc(100% - 22px);min-width:0;border:0;border-bottom:1px solid #111;background:transparent;font:inherit;padding:2px}
@media print{.simple-receipt-paper .receipt-payment-fields{break-inside:avoid;page-break-inside:avoid}}
.simple-receipt-paper .receipt-payment-fields{font-size:12px;margin:10px 0}.simple-receipt-paper .receipt-payment-fields th,.simple-receipt-paper .receipt-payment-fields td{border:1px solid #111;padding:4px 6px}.simple-receipt-paper .receipt-payment-fields th:nth-child(1),.simple-receipt-paper .receipt-payment-fields td:nth-child(1){width:35%}.simple-receipt-paper .receipt-payment-fields th:nth-child(2),.simple-receipt-paper .receipt-payment-fields td:nth-child(2),.simple-receipt-paper .receipt-payment-fields th:nth-child(3),.simple-receipt-paper .receipt-payment-fields td:nth-child(3){width:32.5%}.simple-receipt-paper .receipt-payment-fields input,.simple-receipt-paper .receipt-payment-method{font:inherit;height:24px;padding:1px 3px;border:0;border-bottom:1px solid #111;background:#fff;max-width:100%}.simple-receipt-paper .receipt-payment-method{width:100%;cursor:pointer}
.simple-receipt-paper .receipt-payment-fields{width:80%;table-layout:fixed;margin-right:auto}.simple-receipt-paper .receipt-payment-fields th:nth-child(1),.simple-receipt-paper .receipt-payment-fields td:nth-child(1){width:42%}.simple-receipt-paper .receipt-payment-fields th:nth-child(2),.simple-receipt-paper .receipt-payment-fields td:nth-child(2){width:30%}.simple-receipt-paper .receipt-payment-fields th:nth-child(3),.simple-receipt-paper .receipt-payment-fields td:nth-child(3){width:28%;white-space:nowrap}
.simple-receipt-paper .receipt-bottom-border{display:none!important}.simple-receipt-paper.has-receipt-logo .receipt-company-contact{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:16px}.simple-receipt-paper.has-receipt-logo .receipt-company-contact-text{display:flex;flex-direction:column;align-items:center;gap:3px}.simple-receipt-paper.has-receipt-logo .simple-receipt-logo{width:92px;height:92px;flex:0 0 92px;margin-top:8px}
.simple-receipt-paper.has-receipt-logo .receipt-company-contact{justify-content:flex-start;align-items:flex-start;gap:24px}.simple-receipt-paper.has-receipt-logo .simple-receipt-logo{width:36%;height:125px;flex:0 0 36%;margin-top:18px}.simple-receipt-paper.has-receipt-logo .receipt-company-contact-text{width:64%;align-items:flex-start;text-align:left}.simple-receipt-paper.has-receipt-logo .receipt-company-contact-text .receipt-brand{margin:0 0 18px;text-align:left;letter-spacing:2px;font-size:22px}
.simple-receipt-paper .receipt-blank-items textarea{width:100%;min-height:48px;resize:none;overflow:hidden;border:0;border-bottom:1px solid #111;background:transparent;font:inherit;line-height:1.25;padding:2px;white-space:pre-wrap;overflow-wrap:anywhere}.simple-receipt-paper .receipt-blank-items td:nth-child(2) input,.simple-receipt-paper .receipt-blank-items td:nth-child(3) input{width:calc(100% - 22px)}.simple-receipt-paper .receipt-blank-items td:nth-child(2),.simple-receipt-paper .receipt-blank-items td:nth-child(3){white-space:nowrap}
@media print{.simple-receipt-paper .receipt-blank-items textarea{white-space:pre-wrap;overflow:visible;resize:none;border-bottom:1px solid #111}}
#accountingReceiptDialog .receipt-close{width:28px;height:28px;border-radius:7px;background:#f6f8fc;color:#1760b8;border:1px solid #cbd8e7;font-size:20px}.receipt-actions #printAccountingReceipt{background:#f6f8fc;color:#1760b8;border:1px solid #cbd8e7}.receipt-actions #printAccountingReceipt:hover,#accountingReceiptDialog .receipt-close:hover{background:#e8f0fa;color:#1760b8}
@media print{body.printing-receipt .simple-receipt-paper{border-bottom:2px solid #111!important}}
.receipt-signature-option{display:inline-flex!important;align-items:center;gap:6px;margin:0 12px 0 0!important;font-size:12px!important;color:#687c97}.receipt-signature-option select{height:30px;padding:3px 6px;border:1px solid #cbd8e7;border-radius:6px;background:#f6f8fc;color:#1760b8;font:inherit}.simple-receipt-paper.without-signature .receipt-signature-space{visibility:hidden!important}
@media print{@page{size:5.5in 8.5in;margin:0}body.printing-receipt #accountingReceiptDialog{width:5.5in!important;max-width:5.5in!important;margin:0 auto!important}body.printing-receipt .simple-receipt-paper{width:5.5in!important;height:8.5in!important;min-height:8.5in!important;max-width:none!important;margin:0!important;padding:.28in!important;overflow:hidden}}
@media print{body.printing-receipt>*:not(#accountingReceiptDialog){display:none!important}body.printing-receipt #accountingReceiptDialog{display:block!important;position:static!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}body.printing-receipt #accountingReceiptDialog .receipt-dialog-head,body.printing-receipt #accountingReceiptDialog .receipt-editor,body.printing-receipt #accountingReceiptDialog .receipt-actions{display:none!important}body.printing-receipt #accountingReceiptDialog .simple-receipt-paper{display:block!important;visibility:visible!important;width:100%!important;max-width:none!important;margin:0!important;box-shadow:none!important}}
/* Recibo: formato compacto, centralizado e com área de impressão previsível. */
@media print{
  @page{size:auto;margin:12mm}
  body.printing-receipt #accountingReceiptDialog{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:5.5in!important;
    margin:0 auto!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
    box-shadow:none!important;
    filter:none!important;
  }
  body.printing-receipt #accountingReceiptDialog .simple-receipt-paper{
    display:block!important;
    visibility:visible!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-width:5.5in!important;
    margin:0 auto!important;
    padding:.28in!important;
    border:1px solid #111!important;
    border-top:2px solid #111!important;
    background:linear-gradient(#111,#111) top center / 100% 2px no-repeat,#fff!important;
    border-radius:0!important;
    overflow:visible!important;
    box-shadow:none!important;
    filter:none!important;
  }
  body.printing-receipt #accountingReceiptDialog,
  body.printing-receipt #accountingReceiptDialog .simple-receipt-paper{
    scrollbar-width:none!important;
    print-color-adjust:exact!important;
    -webkit-print-color-adjust:exact!important;
  }
  body.printing-receipt #accountingReceiptDialog::-webkit-scrollbar,
  body.printing-receipt #accountingReceiptDialog .simple-receipt-paper::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
}

/* Navegação do cabeçalho: cada página fica representada por uma tecla. */
.model-header nav.model-nav{align-items:center;height:auto;gap:10px}
.model-header nav.model-nav button{width:56px;height:56px;padding:0;border:1px solid #b9cde3;border-radius:14px;background:#d3e0ee;color:#607895;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(37,75,112,.12);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.model-header nav.model-nav button:hover{background:#e7f0f9;color:#1760b8;transform:translateY(-1px)}
.model-header nav.model-nav button.selected{border-color:#1760b8;background:#1760b8;color:#fff;box-shadow:0 4px 10px rgba(23,96,184,.25)}
.model-header nav.model-nav button:focus-visible{outline:3px solid rgba(36,99,183,.3);outline-offset:3px}
@media(max-width:760px){.model-header nav.model-nav{height:52px;gap:8px;margin-top:10px}.model-header nav.model-nav button{width:46px;height:46px;border-radius:11px}.model-header nav.model-nav button svg{width:21px;height:21px}}

/* Todas as teclas do cabeçalho usam o mesmo azul da tecla Rota. */
.model-header nav.model-nav button,
.model-header nav.model-nav button.selected,
.model-header .model-actions button,
.model-header .model-actions button:first-child{background:#1760b8;border-color:#1760b8;color:#fff;box-shadow:0 4px 10px rgba(23,96,184,.25)}
.model-header nav.model-nav button:hover,
.model-header nav.model-nav button.selected:hover,
.model-header .model-actions button:hover{background:#0f4f9e;border-color:#0f4f9e;color:#fff}

/* Na página Gestão de Rotas, Compartilhar acompanha a cor de Imprimir. */
.model-main .model-actions button{background:#1760b8;color:#fff}
.model-main .model-actions button:hover{background:#0f4f9e;color:#fff}

.simple-receipt-paper .receipt-collect-delivery-name{margin:-4px 0 0;font-size:15px;line-height:1.4}
.accounting-entry>span:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:2px}.accounting-client-name{display:block}.accounting-client-collect-delivery{display:block;font-size:12px;color:#607895;line-height:1.2}
