/* Casa Limpa Transportes e Logística — identidade oficial amarela.
   Aplica-se apenas ao Portal do Motorista; ícones dos seis módulos
   preservam as respectivas cores exclusivas. */
:root{
 --cl-brand:#ffc328;
 --cl-brand-hover:#e8ac15;
 --cl-brand-soft:#fff3ca;
 --cl-brand-line:#efdcaa;
 --cl-ink:#302f2d;
 --cl-muted:#6b6a65;
 --cl-primary:#79560c; /* cor para texto sobre branco: contraste acessível */
 --cl-deep:#ffc328;
 --cl-soft:#fff5db;
 --cl-line:#eae4d7;
 --cl-bg:#faf9f5;
 --cl-surface:#fff;
 color:var(--cl-ink);
 background:var(--cl-bg);
}
html{scroll-behavior:smooth}
body{background:var(--cl-bg);color:var(--cl-ink)}
button:focus-visible,a:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible{
 outline:3px solid #c78c06;outline-offset:3px;
}
/* Cabeçalho compacto com a marca fornecida pela empresa. */
.site-header{
 height:76px;min-height:76px;
 background:#ffc328;
 border-bottom:1px solid #e6ae1e;
 color:#252525;
 padding:0 max(15px,env(safe-area-inset-left));
 box-shadow:0 2px 13px #5243140e;
}
.identity{display:inline-flex;align-items:center;gap:0;max-width:100%;min-width:0}
.brand-logo{
 display:flex;justify-content:center;align-items:center;
 padding:4px 8px;
 background:#fff;
 border:1px solid #f3da8b;
 border-radius:9px;
 line-height:0;
 box-shadow:0 2px 9px #513d1020;
}
.brand-logo img{
 display:block;width:235px;height:auto;max-width:calc(100vw - 52px);
 object-fit:contain;
}
.status{color:#55471b;font-weight:740}
.status-dot{background:#6d5a1c;box-shadow:0 0 0 4px #bb921c30}
.menu-button{color:#302913;border-color:#b18c2b;background:#ffffff70}
footer{background:#332f28;color:#e3d1a9}
/* Login e componentes de ações têm amarelo como cor principal. */
.login-layout{
 background:radial-gradient(circle at 105% 5%,#fff0c5 0%,transparent 46%),#faf9f5;
}
.welcome h1{color:#302f2d}
.welcome h1 em{color:#86600a}
.eyebrow,.eyebrow.dark,.panel-kicker{color:#7d5b0b}
.eyebrow-line{background:#e3aa19}
.login-panel{border-color:#efe2c4;box-shadow:0 10px 35px #4e3c1411}
.login-panel h2,.page-title{color:var(--cl-ink)}
input:focus,textarea:focus,select:focus{
 border-color:#d4a226;box-shadow:0 0 0 3px #ffc32825;
}
.toggle-password{color:#73530c}
.primary,.ouvidoria-submit,.notification-mark-read,
.daily-review-submit,.diario-bordo-open,.viagem-download{
 background:#ffc328;
 border-color:#ffc328;
 color:#29251d;
 box-shadow:0 5px 13px #cf9e2520;
}
.primary:hover:not(:disabled),.ouvidoria-submit:hover:not(:disabled),
.notification-mark-read:hover:not(:disabled),.daily-review-submit:hover:not(:disabled),
.diario-bordo-open:hover,.viagem-download:hover:not(:disabled){
 background:#edb31c;border-color:#edb31c;color:#29251d;
}
.message:not(.error){background:#fff5d9;color:#75571c}
.loader{border-top-color:#ce9815}
.daily-refresh{color:#79560c;border-color:#eadba9;background:#fff}
.daily-refresh:hover{background:#fff7e4}
.daily-period.selected,.acerto-tab.selected{color:#77520e}
.daily-review-action button:not(:disabled):focus-visible{outline-color:#c78c06}
/* A barra inferior e menu lateral usam destaque amarelo. */
.mobile-nav{background:#fffffffa;border-top:1px solid #ede4cf;box-shadow:0 -6px 24px #5949160b}
.mobile-tab{color:#777a7d}
.mobile-tab.selected,.mobile-tab[aria-current="page"]{
 background:#fff1be;color:#75500b;
}
.nav-button:hover{background:#fff8e7;color:#735314}
.nav-button.selected{background:#fff0ba;color:#73500c}
.nav-account-avatar{background:#ffedb4;color:#65470b}
#page-inicio .module-tile{
 background:#fff;
 color:#333333;
 border-color:#e9e4d7;
 box-shadow:0 4px 15px #51472c0e;
}
#page-inicio .module-tile:hover{
 border-color:#e2bd61;
 box-shadow:0 8px 22px #aa812626;
}
#page-inicio .module-tile:focus-visible{outline-color:#c78c06}
/* Saudação de uma linha — sem a faixa 'Portal do Motorista'. */
.portal-main{padding-top:18px}
.home-hero{
 display:flex;align-items:center;
 min-height:67px;
 padding:15px 19px;
 border:1px solid #eadbaf;
 border-left:4px solid #f3b824;
 border-radius:14px;
 background:linear-gradient(110deg,#fff 55%,#fff8e7 100%);
 box-shadow:0 3px 15px #69501f0a;
}
.home-hero .page-title{
 margin:0;
 font-size:clamp(23px,5.9vw,31px);
 line-height:1.2;
 font-weight:830;
 letter-spacing:-.65px;
 color:#2f2e2b;
}
.home-hero .wave{font-size:.85em;white-space:nowrap}
#page-inicio .home-modules{margin-top:13px}
/* Refinamento responsivo: cabeçalho, saudação e atalhos compactos. */
@media(max-width:359px){
 .site-header{height:69px;min-height:69px;padding-inline:12px}
 .brand-logo{padding:3px 5px}
 .brand-logo img{width:207px;max-width:calc(100vw - 36px)}
 .portal-main{padding:15px 14px calc(103px + env(safe-area-inset-bottom))}
 .home-hero{min-height:61px;padding:12px 12px;border-radius:12px}
 .home-hero .page-title{font-size:23px}
 #page-inicio .home-modules{gap:8px;margin-top:11px}
}
@media(min-width:360px) and (max-width:899px){
 .site-header{height:73px;min-height:73px;padding-inline:16px}
 .brand-logo img{width:235px}
 .portal-main{padding-top:18px}
}
@media(min-width:900px){
 .site-header{height:80px;min-height:80px;padding-inline:clamp(26px,5vw,70px)}
 .brand-logo img{width:263px}
 .portal-main{padding-top:34px}
 .home-hero{min-height:81px;padding:19px 25px}
 .home-hero .page-title{font-size:35px}
 #page-inicio .home-modules{margin-top:20px}
}
/* Ajuste visual para modo de preferência reduzida de movimento. */
@media(prefers-reduced-motion:reduce){
 .home-hero,#page-inicio .module-tile{transition:none}
}

/* Logo sem fundo, centralizada; cabeçalho claro dá contraste ao amarelo da logo. */
.site-header{
 position:relative;justify-content:center;
 background:#fffdf6;color:#302f2d;
 border-bottom:4px solid #ffc328;
}
.site-header .identity{
 width:max-content;max-width:100%;margin:0 auto;justify-content:center;
}
.site-header .brand-logo{
 padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;
}
.site-header .brand-logo img{
 display:block;width:min(265px,calc(100vw - 48px));max-width:100%;height:auto;
}
.site-header .header-right{
 position:absolute;right:clamp(14px,3vw,38px);top:50%;transform:translateY(-50%);
}
.site-header .status{color:#655328}
.site-header .status-dot{background:#d5a21e}
/* Saudação muito mais curta e sem cartão ou espaço de respiro excessivo. */
.portal-main{padding-top:12px}
#page-inicio .home-hero{
 display:flex;align-items:center;min-height:0;margin:0;padding:0 1px;
 border:0;border-radius:0;background:transparent;box-shadow:none;
}
#page-inicio .home-hero .page-title{
 margin:0;font-size:clamp(18px,4.9vw,24px);line-height:1.27;
 letter-spacing:-.35px;font-weight:750;color:#3b3934;
}
#page-inicio .home-modules{margin-top:10px}
@media(max-width:359px){
 .site-header{height:62px;min-height:62px;padding-inline:10px}
 .site-header .brand-logo img{width:225px}
 .portal-main{padding-top:11px}
 #page-inicio .home-hero .page-title{font-size:18px}
 #page-inicio .home-modules{margin-top:9px}
}
@media(min-width:360px) and (max-width:899px){
 .site-header{height:67px;min-height:67px}
 .site-header .brand-logo img{width:250px}
 .portal-main{padding-top:12px}
}
@media(min-width:900px){
 .site-header{height:78px;min-height:78px}
 .site-header .brand-logo img{width:286px}
 .portal-main{padding-top:24px}
 #page-inicio .home-hero .page-title{font-size:25px}
 #page-inicio .home-modules{margin-top:16px}
}
