:root{--primary:#4a4d52;--primary-dark:#25272a;--secondary:#12a594;--sidebar:#242629;--bg:#f4f7fb;--text:#1d2840;--muted:#6f7b91;--border:#e4e9f1;--danger:#dc3545;--warning:#f0ad35;--success:#20a66a;--info:#5d6065}
*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--primary-dark);color:var(--text);margin:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:linear-gradient(180deg,#34373b 0%,#1f2124 100%);color:#fff;padding:22px 16px;z-index:1040;transition:.25s}.brand{display:flex;align-items:center;gap:12px;padding:4px 10px 24px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#55595e,#232528);font-size:21px}.brand h1{font-size:1rem;margin:0;font-weight:800}.brand small{opacity:.65}.nav-section{margin:24px 10px 8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;opacity:.45}.sidebar .nav-link{color:rgba(255,255,255,.72);border-radius:10px;padding:11px 12px;margin-bottom:4px;display:flex;align-items:center;gap:11px}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(255,255,255,.11);color:#fff}.main{margin-left:260px;min-height:100vh}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:1020}.page{padding:28px 30px 48px}.page-title h2{font-size:1.6rem;font-weight:800;margin:0}.page-title p{margin:5px 0 0;color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e3e4e6;color:#34373b;font-weight:800}.card{border:1px solid var(--border);border-radius:16px;box-shadow:0 5px 18px rgba(33,52,99,.055)}.stat-card{padding:20px;height:100%}.stat-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.25rem;background:#e7e8e9;color:#34373b}.stat-value{font-size:1.75rem;font-weight:800;line-height:1}.stat-label{color:var(--muted);font-size:.88rem;margin-top:8px}.section-card .card-header{background:transparent;border:0;padding:20px 22px 8px}.section-card .card-body{padding:16px 22px 22px}.table{vertical-align:middle}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom-width:1px;white-space:nowrap}.badge-status{border-radius:99px;padding:.45em .75em;font-weight:700}.status-pendente{background:#fff3dc;color:#a66c08}.status-aceita{background:#e5e6e8;color:#3f4246}.status-finalizada{background:#ddf6e9;color:#16784c}.status-cancelada{background:#fde4e7;color:#ad2938}.status-ativa{background:#ddf6e9;color:#16784c}.status-inativa{background:#edf0f5;color:#687386}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.form-control,.form-select{border-color:#dfe5ee;border-radius:10px;padding:.68rem .8rem}.form-control:focus,.form-select:focus{border-color:#777b80;box-shadow:0 0 0 .2rem rgba(52,55,59,.14)}.form-label{font-weight:700;font-size:.84rem}.panel-title{font-size:1rem;font-weight:800}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:#e1e6ee}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:before{content:"";position:absolute;left:-21px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px #e3e4e6}.check-item{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border)}.photo-slot{height:135px;border:2px dashed #d7deea;border-radius:12px;display:grid;place-items:center;color:var(--muted);background:#fafbfd}.login-layout{min-height:100vh;background:linear-gradient(135deg,#17191b 0%,#4b4e52 100%);display:grid;place-items:center;padding:24px}.login-card{max-width:440px;width:100%;border:0;border-radius:22px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.login-card .card-body{padding:38px}.mobile-toggle{display:none}.quick-action{padding:18px;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--text);display:flex;gap:14px;align-items:center;transition:.2s}.quick-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(33,52,99,.08);color:var(--primary)}.progress{height:8px;background:#e8ecf3}.portal-header{background:linear-gradient(135deg,#222427 0%,#55595e 100%);color:#fff;border-radius:18px;padding:28px}.vehicle-pill{display:inline-flex;align-items:center;gap:7px;background:#edf1fb;border-radius:99px;padding:7px 11px;font-size:.82rem}.metric-positive{color:var(--success)}.metric-warning{color:#b8780e}.search-box{position:relative}.search-box i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8a95a9}.search-box input{padding-left:38px}.sidebar-backdrop{display:none}
@media(max-width:991.98px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main{margin-left:0}.mobile-toggle{display:inline-flex}.topbar{padding:0 18px}.page{padding:22px 18px}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(5,10,24,.5);z-index:1030}}
@media(max-width:575.98px){.page-title h2{font-size:1.35rem}.login-card .card-body{padding:26px}.table-responsive{font-size:.88rem}}
.status-em-deslocamento,.status-em-execucao{background:#e0f2fe;color:#0369a1}.status-ativo,.status-ativa{background:#dcfce7;color:#166534}.status-inativo,.status-inativa{background:#f1f5f9;color:#475569}@media print{.sidebar,.topbar,.btn{display:none!important}.main{margin:0!important}.page{padding:0!important}}

/* JL Tracker - identidade grafite */
.brand{justify-content:center;padding:2px 8px 20px;}
.brand-logo{display:block;width:190px;max-width:100%;height:auto;object-fit:contain;}
.btn-primary{background:linear-gradient(135deg,#55595e 0%,#292b2e 100%);border-color:#34373b;color:#fff;}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:linear-gradient(135deg,#44474b 0%,#1f2123 100%)!important;border-color:#25272a!important;color:#fff!important;}
.btn-outline-primary{color:#3f4246;border-color:#55595e;}
.btn-outline-primary:hover,.btn-outline-primary:focus,.btn-outline-primary:active{background:linear-gradient(135deg,#55595e 0%,#292b2e 100%)!important;border-color:#34373b!important;color:#fff!important;}
.text-primary{color:#45484c!important}.bg-primary{background:linear-gradient(135deg,#55595e 0%,#292b2e 100%)!important}.border-primary{border-color:#55595e!important}
.page-link{color:#45484c}.page-item.active .page-link{background:linear-gradient(135deg,#55595e 0%,#292b2e 100%);border-color:#34373b}.page-link:focus{box-shadow:0 0 0 .2rem rgba(52,55,59,.14)}


/* JL Tracker - identidade global grafite e dourado */
:root{--gold:#ead390;--gold-dark:#d7ba62;}
body{background:var(--primary-dark)!important;}
.navbar{background-color:#212529!important;}
.navbar .navbar-brand,.navbar .nav-link,.navbar .small,.navbar span{color:var(--gold)!important;}
.navbar-logo{display:block;height:46px;width:auto;max-width:220px;object-fit:contain;}
.navbar .btn-light{background:transparent;border-color:var(--gold);color:var(--gold);}
.navbar .btn-light:hover{background:var(--gold);border-color:var(--gold);color:#212529;}
.btn-primary{background:var(--gold)!important;border-color:var(--gold)!important;color:#212529!important;font-weight:700;}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:var(--gold-dark)!important;border-color:var(--gold-dark)!important;color:#212529!important;}
.btn-outline-primary{color:var(--gold)!important;border-color:var(--gold)!important;}
.btn-outline-primary:hover,.btn-outline-primary:focus,.btn-outline-primary:active{background:var(--gold)!important;border-color:var(--gold)!important;color:#212529!important;}
.sidebar .nav-link:hover,.sidebar .nav-link.active{color:var(--gold)!important;}
.sidebar .nav-link.active i,.sidebar .nav-link:hover i,.sidebar .nav-section{color:var(--gold)!important;}
.portal-header{color:var(--gold);}
.portal-header .btn-primary{color:#212529!important;}
.text-primary{color:var(--gold)!important;}
.bg-primary{background:var(--gold)!important;color:#212529!important;}
.border-primary{border-color:var(--gold)!important;}
.page-item.active .page-link{background:var(--gold)!important;border-color:var(--gold)!important;color:#212529!important;}
.page-link{color:#7b682d;}
.main{background:var(--primary-dark);}
.page>.card,.page .section-card,.page .stat-card{color:var(--text);}
.page-title h2,.page-title p{color:var(--gold)!important;}
.page>.d-flex h1,.page>.d-flex h2,.page>.d-flex h3,.page>.d-flex p{color:var(--gold);}

/* Login - preserva o visual original da JL Tracker */
.login-layout{min-height:100vh;background:linear-gradient(135deg,#3b3b3b 0%,#050505 100%)!important;display:grid;place-items:center;padding:24px;}
.login-card{max-width:440px;width:100%;background:#fff!important;color:#1d2840!important;border:0;border-radius:22px;box-shadow:0 25px 70px rgba(0,0,0,.28);}
.login-card .card-body{padding:38px;}
.login-logo-wrap{text-align:center;margin:-8px 0 8px;}
.login-logo{display:block;width:100%;max-width:350px;height:auto;margin:0 auto;}
.login-divider{margin:8px 0 16px;border:0;border-top:1px solid #cfd3d8;opacity:1;}
.login-card h2,.login-card .form-label{color:#1d2840!important;}
.login-card .text-secondary{color:#6f7b91!important;}
.login-card .btn-primary{background:#171717!important;border-color:#171717!important;color:#fff!important;}
.login-card .btn-primary:hover,.login-card .btn-primary:focus,.login-card .btn-primary:active{background:#2b2b2b!important;border-color:#2b2b2b!important;color:#fff!important;}
.login-card a{color:#0d6efd!important;}
.login-card .btn-outline-secondary{color:#6c757d!important;border-color:#6c757d!important;background:#fff!important;}
.login-card .btn-outline-secondary:hover{background:#f1f3f5!important;color:#212529!important;}
@media(max-width:575.98px){.login-logo{max-width:300px;}}

/* JL Tracker - identidade global: topbar preta + titulos dourados */
.topbar{background:#000!important;color:var(--gold)!important;border-bottom-color:rgba(234,211,144,.28)!important;}
.topbar,.topbar a,.topbar button,.topbar span,.topbar small,.topbar i,.topbar .text-muted,.topbar .text-secondary{color:var(--gold)!important;}
.topbar .avatar{background:rgba(234,211,144,.14)!important;color:var(--gold)!important;border:1px solid rgba(234,211,144,.32);}
h2{color:var(--gold)!important;}
/* Login e conteudos sobre cards claros mantem a identidade especifica da tela */
.login-card h2{color:#1d2840!important;}

/* Botões dentro de cards: destaque permanente + hover com profundidade */
.card .btn:not(.btn-danger):not(.btn-outline-danger):not(:disabled):not(.disabled) {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: #212529 !important;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.card .btn:not(.btn-danger):not(.btn-outline-danger):not(:disabled):not(.disabled):hover,
.card .btn:not(.btn-danger):not(.btn-outline-danger):not(:disabled):not(.disabled):focus {
  background: var(--gold-dark) !important;
  border-color: var(--gold-dark) !important;
  color: #212529 !important;
  transform: translateY(-2px);
  box-shadow: 0 .35rem .8rem rgba(0,0,0,.20);
}
.card .btn:not(.btn-danger):not(.btn-outline-danger):not(:disabled):not(.disabled):active {
  transform: translateY(0);
  box-shadow: 0 .15rem .35rem rgba(0,0,0,.16);
}
.card .btn:disabled,
.card .btn.disabled {
  transform: none !important;
  box-shadow: none !important;
}


/* Configurações: legibilidade dos rótulos sobre fundo escuro */
.page-configuracoes .form-label,
.page-configuracoes label { color: var(--gold) !important; }
.page-configuracoes .form-text,
.page-configuracoes .text-muted { color: rgba(255,255,255,.78) !important; }
