:root {
  --ink: #14313d;
  --green: #03394d;
  --green2: #07536e;
  --mint: #e7f1f4;
  --cream: #f3f3f3;
  --paper: #ffffff;
  --line: #d6e0e4;
  --muted: #6e7f86;
  --amber: #ff9200;
  --red: #c54b42;
  --shadow: 0 18px 48px rgba(3, 57, 77, .10);
}

html, body, button, input, select, textarea { font-family: Roboto, "Segoe UI", Arial, sans-serif; }
body { background: #f3f3f3; color: var(--ink); }
body:before {
  background: linear-gradient(rgba(3,57,77,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(3,57,77,.025) 1px,transparent 1px);
  background-size: 44px 44px;
}

.login-shell { background: #f3f3f3; }
.login-art {
  background: radial-gradient(circle at 78% 24%,rgba(255,146,0,.22),transparent 28%),linear-gradient(145deg,rgba(3,57,77,.98),rgba(1,37,51,.95));
}
.login-art:before { content: "M&S"; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.09); }
.login-art:after { border-color: rgba(255,146,0,.28); box-shadow: 0 0 0 85px rgba(255,146,0,.035),0 0 0 170px rgba(255,255,255,.025); }
.brand-mark,
.brand-mark.large,
.side-brand .brand-mark {
  background: #03394d;
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 12px;
  clip-path: none;
  overflow: hidden;
  padding: 5px;
  box-shadow: none;
}
.brand-mark.large { width: 88px; height: 88px; padding: 8px; background: rgba(3,57,77,.42); border-color: rgba(255,255,255,.42); }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-mark span { display: none; }
.side-brand .brand-mark { width: 48px; height: 48px; padding: 4px; background: #052e3d; border-color: rgba(255,255,255,.2); }
.side-brand small { color: #a9c2cb; }
.mobile-brand .brand-mark { width: 52px; height: 52px; }
.art-copy .eyebrow.light { color: #ffb54d; }
.art-copy p { color: rgba(255,255,255,.78); }
.road span { background: rgba(255,255,255,.3); }
.road span:first-child { background: #ff9200; }

.login-card { background: #fff; border-color: #d6e0e4; box-shadow: 0 28px 80px rgba(3,57,77,.14); }
.login-card .eyebrow, .eyebrow { color: #d77800; }
.login-card input:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.settings-form input:focus,
.settings-form textarea:focus { border-color: #ff9200; box-shadow: 0 0 0 3px rgba(255,146,0,.12); }
.secure-note:first-letter { color: #ff9200; }

.sidebar { background: linear-gradient(180deg,#03394d,#022d3d); border-right: 1px solid #0d5068; }
.side-brand { border-color: rgba(255,255,255,.13); }
.nav-item { color: #b8cbd2; }
.nav-item.active,.nav-item:hover { background: linear-gradient(90deg,rgba(255,146,0,.2),rgba(255,255,255,.025)); color: #fff; }
.nav-item.active:before { background: #ff9200; }
.nav-item i { background: rgba(255,146,0,.17); color: #ffc16c; }
.support { background: rgba(0,0,0,.10); border-color: rgba(255,255,255,.12); }
.support>span { border-color: #ff9200; color: #ffb34a; }
.logout { color: #b7ccd3; }

.main { background: #f3f3f3; }
.topbar { background: rgba(243,243,243,.94); border-color: #d6e0e4; }
.topbar .eyebrow { color: #d77800; }
.icon-button,.menu-button { color: #03394d; border-color: #d2dee3; }
.user-chip>span { background: #e4eff3; color: #03394d; }
.button.primary { background: #03394d; color: #fff; box-shadow: 0 8px 24px rgba(3,57,77,.17); }
.button.primary:hover { background: #07536e; }
.button.light { background: #ff9200; color: #102a34; border-color: #ff9200; }
.button.ghost,.table-action { background: #e7f1f4; color: #03394d; border-color: #cbdde4; }
.link-button { color: #d77800; }

.hero { border-color: #0e607d; background: radial-gradient(circle at 76% 18%,rgba(255,146,0,.25),transparent 28%),linear-gradient(110deg,#03394d,#07536e); }
.hero .eyebrow.light { color: #ffbd61; }
.hero p { color: #c4d7de; }
.metric-card,.panel { border-color: #d6e0e4; box-shadow: 0 9px 30px rgba(3,57,77,.045); }
.metric-icon.green,.metric-icon.mint { background: #e5f0f4; color: #03394d; }
.metric-icon.amber { background: #fff0dc; color: #c86f00; }
.metric-icon.red { background: #fae8e6; color: #b54038; }
.metric-card span.good { color: #08718f; }
.date-box,.month-summary div,.empty-state span { background: #e7f1f4; color: #03394d; }
.status-pill { background: #e7f1f4; color: #07536e; }
.status-pill.late { background: #c54b42; color: #fff; }
.status-pill.manutencao { background: #fff0dc; color: #b76500; }
.status-pill.concluida { background: #e0eff1; color: #07536e; }
.segmented button.active { background: #03394d; }
.donut { background: conic-gradient(#03394d 0 var(--operational),#ff9200 var(--operational) var(--maintenance),#cdd9dd var(--maintenance) 360deg); }
.calendar-day.today { box-shadow: inset 0 0 0 2px #ff9200; }
.calendar-event { border-left-color: #ff9200; background: #fff0dc; }
.vehicle-profile-head { background: linear-gradient(110deg,#03394d,#07536e); }
.vehicle-monogram { color: #03394d; }
.map-pin { background: #03394d; }
.smtp-banner.ready { background: #e5f0f4; color: #03394d; border-color: #c8dce4; }
.smtp-banner.off { background: #fff0dc; color: #9f5b00; border-color: #f1d3a8; }
.settings-icon { border-color: #ff9200; color: #d77800; }
.engine-status { background: #edf4f6; }
.toast { background: #03394d; }

@media (max-width: 780px) {
  .mobile-brand b { color: #03394d; }
  .login-card { background: linear-gradient(180deg,#fff,#f7fafb); }
}
