:root { --ink:#222a32; --forest:#278516; --mint:#e2f2dc; --lime:#55b72f; --sand:#f6f7f4; --paper:#ffffff; --line:#e3e8e1; --slate:#68766e; --blue:#3f78a8; --orange:#e7903d; --red:#c75e54; }
* { box-sizing:border-box; }
body { margin:0; background:var(--sand); color:var(--ink); font-family:"DM Sans",sans-serif; }
button,a { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; }
.app-shell { min-height:100vh; display:flex; }
.sidebar { width:258px; padding:28px 18px 18px; background:#11161b; color:#ecf1ea; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }
.brand { display:flex; align-items:center; padding:0 10px 38px; }.brand img{width:176px;height:auto;display:block}
.navigation { display:grid; gap:5px; }.nav-link { display:flex; align-items:center; gap:13px; padding:12px 13px; border-radius:11px; color:#b9c1bc; font-weight:600; }.nav-link span { width:20px; font-size:20px; text-align:center; }.nav-link:hover,.nav-link.active { background:#26312a; color:#fff; }.nav-link.active { box-shadow:inset 3px 0 var(--lime); }
.profile-card { margin-top:auto; display:flex; align-items:center; gap:10px; border-top:1px solid #303a34; padding:19px 10px 4px; }.profile-card strong,.profile-card small{display:block}.profile-card strong{font-size:13px}.profile-card small{font-size:11px;color:#a7afa9}.avatar { width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:#d8e96e;color:#263009;font-size:11px;font-weight:700; }
.main-content { width:min(1400px,calc(100% - 258px)); padding:0 46px 54px; }.topbar{height:82px;display:flex;align-items:center;justify-content:space-between}.topbar-actions{display:flex;align-items:center;gap:13px}.menu-button,.icon-button{border:0;background:transparent;font-size:23px;color:var(--ink)}.menu-button{display:none}.icon-button{width:39px;height:39px;border-radius:50%;background:#eeece5}.avatar-button{width:38px;height:38px}
.page{display:none}.page.active{display:block}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:21px 0 31px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--forest);margin:0 0 8px}.page-heading h1{font-family:Manrope,sans-serif;letter-spacing:-1.5px;font-size:33px;margin:0}.page-heading>div>p:last-child{color:var(--slate);margin:7px 0 0}.primary-button{border:0;border-radius:10px;background:var(--forest);color:#fff;padding:13px 18px;font-weight:700;box-shadow:0 6px 12px #24593f2b}.primary-button:hover{background:#19452f}.period-select{background:var(--paper);border:1px solid var(--line);padding:12px 14px;border-radius:10px;font-size:13px;font-weight:700;white-space:nowrap}.period-select span{padding-left:18px}
.hero-card{background:linear-gradient(115deg,#20583e,#2d6e50);border-radius:20px;padding:32px 36px;color:#fff;display:flex;justify-content:space-between;align-items:flex-start;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:350px;height:350px;right:-130px;top:-250px;border-radius:50%;border:55px solid #cce58c24}.hero-card .eyebrow{color:#cfe29f}.hero-card h2{margin:0;font:800 38px Manrope,sans-serif;letter-spacing:-2px}.hero-card .positive{color:#d9eba8;font-size:13px;margin:8px 0 0}.hero-card .period-select{position:relative;z-index:1;background:#ffffff17;border-color:#ffffff33;color:#fff}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:20px 0}.metric-card,.panel,.placeholder-panel,.setting-card{background:var(--paper);border:1px solid var(--line);border-radius:15px}.metric-card{min-height:142px;padding:21px;position:relative}.metric-card p{font-size:13px;color:var(--slate);margin:8px 0}.metric-card strong{font:700 21px Manrope,sans-serif;letter-spacing:-1px}.metric-card small{display:block;color:#849087;font-size:12px;margin-top:6px}.metric-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-size:18px}.income .metric-icon{background:#e4f0df;color:#4c7b48}.expense .metric-icon{background:#f7e2de;color:var(--red)}.pending .metric-icon{background:#f5ecd2;color:#b88731}
.content-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:17px}.panel{padding:25px}.panel-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:19px}.panel-heading h2,.placeholder-panel h2{font:700 18px Manrope,sans-serif;letter-spacing:-.6px;margin:0}.panel-heading p,.placeholder-panel p{margin:4px 0 0;color:var(--slate);font-size:13px}.text-button{border:0;background:transparent;color:var(--forest);font-size:13px;font-weight:700;padding:3px}.order-list{display:grid;gap:5px}.order-row{display:grid;grid-template-columns:9px 1fr auto auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.order-row:first-child{border-top:0}.order-row strong{font-size:13px}.order-row div small{display:block;margin-top:3px;color:var(--slate);font-size:12px}.order-row>strong:last-child{font-size:13px}.status-dot{width:8px;height:38px;border-radius:10px}.orange{background:var(--orange)}.blue{background:var(--blue)}.green{background:#64a966}.status-chip{font-size:11px;padding:6px 9px;border-radius:20px;font-weight:700}.budget{background:#fff0dc;color:#a95e16}.progress{background:#e2eff9;color:#24668f}.finished{background:#e5f1e3;color:#477c48}.agenda-item{display:flex;gap:15px;padding:14px 0;border-top:1px solid var(--line)}.agenda-item time{font-weight:700;font-size:13px;color:var(--forest)}.agenda-item strong{font-size:13px}.agenda-item small{display:block;margin-top:4px;color:var(--slate);font-size:12px}.agenda-item.muted{opacity:.55}.placeholder-panel{padding:31px;min-height:245px}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.setting-card{padding:23px;display:flex;gap:14px}.setting-card>span{font-size:24px;color:var(--forest)}.setting-card strong{font:700 15px Manrope,sans-serif}.setting-card p{margin:5px 0;color:var(--slate);font-size:13px}
@media (max-width:900px){.sidebar{width:76px;padding:24px 10px}.brand{padding:0 7px 30px}.brand>span:last-child,.nav-link:not(.active)::after,.nav-link{font-size:0}.nav-link{justify-content:center;padding:13px}.nav-link span{font-size:21px}.profile-card>span:last-child{display:none}.main-content{width:calc(100% - 76px);padding:0 24px 36px}.content-grid{grid-template-columns:1fr}.order-row{grid-template-columns:9px 1fr auto}.order-row>strong:last-child{display:none}}
@media (max-width:620px){.sidebar{display:none}.main-content{width:100%;padding:0 17px 35px}.menu-button{display:block}.page-heading{align-items:flex-start;flex-direction:column;margin:15px 0 24px}.metric-grid,.settings-grid{grid-template-columns:1fr}.hero-card{padding:25px}.hero-card h2{font-size:29px}.hero-card .period-select{display:none}.order-row{grid-template-columns:8px 1fr}.status-chip{display:none}.topbar{height:64px}}

.pilot-badge{font-size:10px;font-weight:800;letter-spacing:1px;color:#347e25;background:#e3f1d9;padding:7px 10px;border-radius:20px}.list-panel{background:var(--paper);border:1px solid var(--line);border-radius:15px;overflow:hidden}.data-row{display:grid;grid-template-columns:42px 1fr auto auto;gap:13px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.data-row:last-child{border:0}.row-initial{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e5f0de;color:var(--forest);font-size:11px;font-weight:800}.row-main strong{display:block;font-size:14px}.row-main small{display:block;margin-top:4px;color:var(--slate);font-size:12px}.row-value{font-size:14px}.status-chip.orçamento{background:#fff0dc;color:#9f601d}.status-chip.em-andamento{background:#e4eff8;color:#2b6289}.status-chip.concluído,.status-chip.pago{background:#e5f1e3;color:#477c48}.status-chip.pendente{background:#fff1d8;color:#a37824}.empty-state{display:grid;gap:6px;min-height:180px;place-content:center;text-align:center;color:var(--slate);padding:30px}.empty-state strong{color:var(--ink);font-family:Manrope,sans-serif}.financial-summary{padding:25px}.financial-summary h2{font:700 18px Manrope,sans-serif;margin:0}.financial-summary p{color:var(--slate)}.financial-summary strong{color:var(--forest)}.setting-card{align-items:flex-start}.setting-card .text-button{margin-left:auto}
#modal-root{position:fixed;inset:0;z-index:10;pointer-events:none}.modal-backdrop{position:absolute;inset:0;background:#11161b99;display:grid;place-items:center;padding:20px;pointer-events:auto}.modal{width:min(510px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:17px;box-shadow:0 22px 70px #0005}.modal header,.modal footer{padding:19px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal footer{border-bottom:0;border-top:1px solid var(--line);gap:11px;justify-content:flex-end}.modal h2{font:700 19px Manrope,sans-serif;margin:0}.close-modal{border:0;background:transparent;font-size:26px;color:var(--slate);cursor:pointer}.modal-body{display:grid;gap:13px;padding:22px 23px}.modal label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--slate)}.modal input,.modal select{width:100%;border:1px solid var(--line);background:#fbfcfa;border-radius:9px;padding:11px 12px;color:var(--ink);font:inherit}.check-label{display:flex!important;align-items:center;gap:9px}.check-label input{width:auto}.secondary-button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 15px;font-weight:700;color:var(--slate)}#toast{position:fixed;right:24px;bottom:24px;z-index:20;background:#182e22;color:#fff;border-radius:11px;padding:13px 17px;box-shadow:0 12px 28px #0003;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translateY(0)}
@media(max-width:620px){.data-row{grid-template-columns:38px 1fr auto;padding:14px}.row-value{display:none}.pilot-badge{display:none}.modal-backdrop{padding:12px}.modal footer{position:sticky;bottom:0;background:#fff}.setting-card{grid-template-columns:24px 1fr}.setting-card .text-button{grid-column:2;justify-self:start;margin:3px 0 0}}

/* Atualização visual — piloto Trinkfeld */
:root{--ink:#13221b;--forest:#126a42;--mint:#e6f5e9;--lime:#7ed957;--sand:#f3f6f3;--paper:#ffffff;--line:#dfe9e1;--slate:#64756b;--blue:#2378a6;--orange:#df8a38;--red:#c15d58}
body{background:radial-gradient(circle at 80% -15%,#dff3dc 0,transparent 28%),var(--sand);letter-spacing:-.1px}
.sidebar{background:linear-gradient(180deg,#0d1713 0%,#101d17 53%,#07100c 100%);border-right:1px solid #26372e;box-shadow:10px 0 35px #06221312}
.brand{padding:2px 10px 38px}.brand img{width:180px;border-radius:12px;box-shadow:0 10px 24px #0004}
.navigation{gap:7px}.nav-link{position:relative;border:1px solid transparent;border-radius:12px;transition:background .18s,border-color .18s,transform .18s}.nav-link:hover{transform:translateX(3px);border-color:#526b5a}.nav-link:hover,.nav-link.active{background:linear-gradient(90deg,#20382a,#182b21);color:#fff}.nav-link.active{box-shadow:inset 3px 0 var(--lime),0 8px 18px #0000001e}
.profile-card{border-top-color:#293a30;padding-top:20px}.avatar{background:linear-gradient(135deg,#c5f267,#78d64d);color:#143222;box-shadow:0 4px 14px #5bb33f42}
.main-content{padding-left:52px;padding-right:52px}.topbar{height:90px}.pilot-badge{padding:8px 12px;background:#e5f5df;color:#397a29;border:1px solid #cce7c5;box-shadow:0 5px 13px #155a2020}
.page-heading{margin-top:18px;margin-bottom:29px}.eyebrow{color:#368e45;font-weight:800;letter-spacing:1.55px}.page-heading h1{font-size:36px;color:#10271c}.page-heading>div>p:last-child{font-size:14px}
.primary-button{background:linear-gradient(135deg,#16744a,#0d5237);border:1px solid #0d5237;border-radius:12px;padding:13px 20px;box-shadow:0 10px 20px #0b512d2b;transition:transform .18s,box-shadow .18s,filter .18s}.primary-button:hover{background:linear-gradient(135deg,#1b8856,#12623e);transform:translateY(-2px);box-shadow:0 14px 24px #0b512d35;filter:saturate(1.1)}
.hero-card{background:linear-gradient(120deg,#0b3829 0%,#126a42 57%,#239456 135%);padding:35px 38px;border-radius:24px;box-shadow:0 20px 40px #0b51252b}.hero-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(135deg,#ffffff0c 25%,transparent 25%,transparent 50%,#ffffff0c 50%,#ffffff0c 75%,transparent 75%);background-size:20px 20px;opacity:.3}.hero-card:after{border-color:#d7ffbe24}.hero-card h2{font-size:42px}.hero-card .period-select{border-radius:12px;padding:12px 16px;backdrop-filter:blur(8px)}
.metric-grid{gap:20px;margin:23px 0}.metric-card{min-height:151px;padding:23px;border-radius:18px;box-shadow:0 12px 26px #0d2f1a0b;transition:transform .18s,box-shadow .18s}.metric-card:hover{transform:translateY(-3px);box-shadow:0 18px 30px #0d2f1a16}.metric-card p{font-weight:600}.metric-card strong{font-size:23px;color:#163225}.metric-icon{width:36px;height:36px;border-radius:12px}
.content-grid{gap:20px}.panel,.list-panel,.placeholder-panel,.setting-card{border-color:#e0e9e2;box-shadow:0 12px 27px #0d2f1a0b}.panel{padding:27px;border-radius:19px}.list-panel{border-radius:19px}.panel-heading h2,.placeholder-panel h2{font-size:19px;color:#173023}.order-row{padding:15px 0}.status-dot{height:40px}.status-chip{border:1px solid #00000008;letter-spacing:.1px}.text-button{color:#237d3f}.text-button:hover{color:#0f5930}
.data-row{padding:17px 22px;transition:background .15s}.data-row:hover{background:#f6faf6}.row-initial{background:linear-gradient(135deg,#e9f7e6,#d0edca);color:#25763c}.financial-summary{border-radius:19px;background:linear-gradient(110deg,#fff,#f2fbf1)}
.settings-grid{gap:20px}.setting-card{border-radius:18px;transition:transform .18s,box-shadow .18s}.setting-card:hover{transform:translateY(-2px);box-shadow:0 17px 32px #0d2f1a14}
.modal-backdrop{background:#08150fb8;backdrop-filter:blur(7px)}.modal{border-radius:22px;box-shadow:0 28px 80px #0008}.modal header,.modal footer{padding:21px 25px}.modal-body{padding:24px 25px;gap:15px}.modal input,.modal select{border-color:#dbe8dd;background:#f8fbf8;border-radius:11px;padding:12px 13px}.modal input:focus,.modal select:focus{outline:3px solid #a9e29c70;border-color:#64af57}.secondary-button{border-radius:11px}
#toast{right:30px;bottom:30px;background:#102d20;border:1px solid #37664a;box-shadow:0 16px 34px #0003}
@media(max-width:900px){.main-content{padding-left:30px;padding-right:30px}}@media(max-width:620px){.main-content{padding-left:17px;padding-right:17px}.hero-card{border-radius:20px}.page-heading h1{font-size:30px}.metric-card{min-height:130px}}

/* Identidade visual Trinkfeld */
:root{--ink:#343b41;--forest:#409522;--mint:#e7f2e3;--lime:#66bd42;--sand:#f6f7f6;--paper:#ffffff;--line:#d9dde0;--slate:#6f787d;--blue:#317ca5;--orange:#d98b38;--red:#bc5d59}
body,button,a,.modal input,.modal select{font-family:"Inter",sans-serif}.page-heading h1,.hero-card h2,.panel-heading h2,.placeholder-panel h2,.setting-card strong,.modal h2{font-family:"Montserrat",sans-serif}
.sidebar{background:linear-gradient(180deg,#343b41 0%,#252d32 60%,#1d2429 100%)}
.nav-link:hover,.nav-link.active{background:linear-gradient(90deg,#435049,#343f39)}.nav-link.active{box-shadow:inset 3px 0 #66bd42,0 8px 18px #0000001e}
.avatar{background:linear-gradient(135deg,#79d255,#409522)}.pilot-badge{color:#2d761d;background:#eaf5e7;border-color:#cce7c5}
.eyebrow{color:#409522}.page-heading h1{color:#343b41}.primary-button{background:linear-gradient(135deg,#55a934,#409522);border-color:#409522}.primary-button:hover{background:linear-gradient(135deg,#66bd42,#35801d)}
.hero-card{background:linear-gradient(120deg,#343b41 0%,#2f5035 38%,#409522 120%)}.hero-card h2{font-weight:800}.metric-card strong{color:#343b41}.row-initial{color:#409522}.text-button{color:#409522}.text-button:hover{color:#2f791a}
.modal input:focus,.modal select:focus{outline-color:#88d66c80;border-color:#409522}#toast{background:#343b41;border-color:#536068}

/* Direção escolhida: Rota da Equipe */
.route-hero{min-height:258px;border-radius:24px;overflow:hidden;position:relative;display:flex;justify-content:space-between;align-items:flex-end;padding:34px 38px;background:linear-gradient(90deg,#fffdfbf8 0%,#fffdfbe8 42%,#fffdfb28 75%),url("./assets/hero-rural-route.png") center/cover no-repeat;box-shadow:0 18px 40px #343b4124;border:1px solid #ffffffb0}.route-hero:after{content:"";position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,#409522,#79c655,#409522)}.route-copy,.route-status{position:relative;z-index:1}.route-copy{max-width:650px}.route-copy .eyebrow{margin-bottom:10px}.route-copy h1{font:800 clamp(39px,5vw,68px)/.94 "Montserrat",sans-serif;letter-spacing:-3px;color:#343b41;margin:0;text-shadow:0 1px #fff}.route-copy h1 em{display:block;font-style:normal;color:#409522}.route-subtitle{font-size:17px;color:#343b41;margin:15px 0 20px;font-weight:500}.route-status{background:#fffffff0;backdrop-filter:blur(8px);width:min(315px,34%);border:1px solid #ffffff;border-radius:16px;padding:18px 19px;box-shadow:0 12px 30px #343b4122}.route-status p{font:700 12px "Inter",sans-serif;color:#409522;text-transform:uppercase;letter-spacing:.7px;margin:0 0 9px}.route-status p span{font-size:15px}.route-status strong{display:block;font:700 17px/1.2 "Montserrat",sans-serif;color:#343b41}.route-status small{display:block;color:#65706d;font-size:12px;line-height:1.4;margin-top:9px}.route-content{margin-top:2px}.route-panel{min-height:300px}.route-panel .panel-heading{margin-bottom:12px}.route-panel .eyebrow{font-size:10px;margin-bottom:5px}.route-panel .order-row{grid-template-columns:9px 1fr auto auto}.route-panel .data-row{grid-template-columns:40px 1fr auto}.route-panel .row-value{display:none}
@media(max-width:900px){.route-hero{padding:30px}.route-status{width:38%}.route-copy h1{font-size:48px}}@media(max-width:620px){.route-hero{padding:27px 22px;min-height:345px;align-items:flex-start;flex-direction:column;background:linear-gradient(0deg,#fffdfbfa 5%,#fffdfbd9 57%,#fffdfb36 100%),url("./assets/hero-rural-route.png") 65% center/cover no-repeat}.route-copy h1{font-size:43px;letter-spacing:-2px}.route-subtitle{font-size:15px;max-width:280px}.route-status{width:100%;padding:14px 15px}.route-panel .order-row{grid-template-columns:8px 1fr auto}.route-panel .order-row>strong:last-child{display:none}}

/* Ações operacionais */
.data-row{grid-template-columns:42px 1fr auto auto auto}.row-edit{border:1px solid #d9e7d5;background:#fff;color:#36821f;border-radius:9px;padding:7px 10px;font:700 11px "Inter",sans-serif;white-space:nowrap;transition:background .15s,transform .15s}.row-edit:hover{background:#edf7e9;transform:translateY(-1px)}.status-chip.em-campo{background:#e4eff8;color:#2b6289}.status-chip.em-manutenção{background:#fff0dc;color:#9f601d}.status-chip.indisponível{background:#f1f2f2;color:#616a70}
@media(max-width:760px){.data-row{grid-template-columns:38px 1fr auto}.data-row .row-value{display:none}.row-edit span{display:none}.row-edit{padding:8px 9px;font-size:14px}.data-row .status-chip{display:none}}

/* Cálculo comercial e recibos */
.form-split{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-hint{margin:-4px 0 2px;color:#6f787d;font-size:11px}.modal input[readonly]{background:#eef5ed;color:#24742d;font-weight:700}.receipt-modal{width:min(560px,100%)}.receipt-preview{padding:28px 32px;text-align:center;gap:13px}.receipt-company{margin:0;color:#409522;font:800 18px "Montserrat",sans-serif}.receipt-code{margin:0;color:#6f787d;font-size:11px;letter-spacing:1.2px}.receipt-preview>p{margin:0;color:#343b41;line-height:1.55}.receipt-value{display:block;color:#409522;font:800 30px "Montserrat",sans-serif}.receipt-preview dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:7px 0;text-align:left}.receipt-preview dl div{background:#f5f8f5;border-radius:10px;padding:11px}.receipt-preview dt{font-size:10px;color:#6f787d;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.receipt-preview dd{margin:5px 0 0;font-weight:700;font-size:13px}.receipt-signature{margin-top:26px!important;padding-top:14px;border-top:1px solid #d9dde0;color:#6f787d!important;font-size:12px}@media(max-width:520px){.form-split,.receipt-preview dl{grid-template-columns:1fr}.receipt-preview{padding:25px 21px}}
.row-actions{display:flex;align-items:center;gap:7px}.order-preview h3{margin:0;color:#343b41;font:700 21px "Montserrat",sans-serif}@media(max-width:760px){.row-actions{gap:4px}.row-actions .row-edit{padding:8px 8px}}
.status-chip.a-definir{background:#e4eff8;color:#2b6289}.status-chip.feito-boleto{background:#fff0dc;color:#9f601d}.status-chip.recebido{background:#e5f1e3;color:#477c48}.status-chip.aguardando-pagamento{background:#fff1d8;color:#a37824}
.status-chip.recebida,.status-chip.paga{background:#e5f1e3;color:#477c48}.status-chip.atrasada{background:#fff0dc;color:#9f601d}
