:root{--ink:#242427;--muted:#68686f;--paper:#f5f5f6;--line:#e0e0e4;--accent:#e50019;--dark:#202023}
*{box-sizing:border-box}body{font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.5}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #e50019;outline-offset:4px}[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}.login-page{margin:0;padding:0}.login-shell{display:grid;grid-template-columns:1.08fr 1fr;min-height:100vh}.login-story{position:relative;overflow:hidden;min-height:800px;background:var(--dark);color:white;padding:48px 9%}.login-story:before{content:'';position:absolute;width:520px;height:520px;border:1px solid #ffffff12;border-radius:50%;right:-230px;top:100px;box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff03}.login-brand{display:inline-flex;flex-direction:column;gap:9px;text-decoration:none;position:relative}.login-brand img{width:190px;height:auto}.login-brand span{font-size:9px;letter-spacing:5px;color:#ccccd1}.story-copy{position:relative;margin-top:74px;z-index:1}.story-copy .eyebrow{color:#ff8592}.story-copy h1{font-size:clamp(42px,4.5vw,68px);letter-spacing:-3px;line-height:1.05;margin:22px 0}.story-copy em{color:#ffffff;font-style:normal}.story-copy p{color:#c5c5cc;max-width:340px;font-size:15px}.login-machine{position:absolute;width:65%;max-width:440px;right:0;bottom:58px;max-height:260px;object-fit:contain}.story-footer{position:absolute;bottom:30px;left:9%;right:9%;display:flex;justify-content:space-between;gap:12px;color:#bfbfc7;font-size:10px;letter-spacing:1px}.login-access{padding:48px 12% 26px;display:flex;flex-direction:column;align-items:flex-start;background:#fafafa}.access-badge{align-self:flex-end;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.access-badge>span{height:7px;width:7px;background:#e50019;border-radius:50%}.login-form-wrap{width:100%;max-width:400px;margin:auto; padding:55px 0}.login-form-wrap>.eyebrow{color:#73737b}.login-form-wrap h2{font-size:34px;letter-spacing:-1.4px;line-height:1.2;margin:16px 0 12px}.login-form-wrap>.muted{font-size:14px;margin-bottom:35px}.login-form{display:flex;flex-direction:column;gap:10px}.login-form label{font-size:13px;font-weight:600}.login-form input{width:100%;height:52px;border:1px solid #dcdce1;background:white;border-radius:8px;padding:0 15px;color:var(--ink)}.login-form>input{margin-bottom:12px}.password-field{position:relative}.password-field input{padding-right:85px}.password-field button{position:absolute;right:9px;top:9px;height:34px;border:0;background:transparent;font-size:12px;color:#595962;cursor:pointer}.login-submit{display:flex;justify-content:space-between;align-items:center;background:var(--accent);color:#ffffff;border:0;padding:16px 20px;border-radius:8px;font-weight:700;margin-top:17px;cursor:pointer}.login-submit:hover,.hero-link:hover{background:#bd0015}.login-help{color:var(--muted);font-size:12px;line-height:1.8;margin:20px 0 32px}.back-site{font-size:13px;text-decoration:none}.back-site:hover{text-decoration:underline}.access-footer{font-size:11px;color:var(--muted);align-self:center}.login-alert{padding:14px;background:#fff1f2;border:1px solid #efb8bf;border-radius:8px;font-size:13px;margin-bottom:22px}
body.app-modern{background:var(--paper)!important;padding-top:92px;text-align:left}.app-modern .navbar-inverse{background:var(--dark);background-image:none;border:0;box-shadow:0 2px 10px #18181b12}.app-modern .navbar-brand{height:64px;display:flex;align-items:center;padding:15px}.app-modern .navbar-brand img{width:132px;max-height:34px;object-fit:contain}.app-modern .navbar-titulopagina{background:transparent;color:#ccccd2;height:64px;padding:22px 16px;font-size:10px;letter-spacing:1px}.app-modern .navbar-nav>li>a{padding-top:22px;padding-bottom:22px;font-size:13px;color:#ededf0}.app-modern .navbar-inverse .navbar-nav>.open>a{background:#343439}.app-modern .dropdown-menu{border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 35px #18181b20;padding:8px}.app-modern .dropdown-menu>li>a{padding:9px 15px}.app-modern .dropdown-menu>li>a:hover{background:#f2f2f4;background-image:none}.app-modern .btn{border-radius:7px;box-shadow:none;background-image:none;text-shadow:none}.app-modern .btn-primary{background:#e50019;border-color:#e50019}.app-modern .btn-primary:hover{background:#bd0015}.app-modern .form-control{border-radius:7px;border-color:#d0d0d6;box-shadow:none}.app-modern .form-control:focus{border-color:#e50019;box-shadow:0 0 0 3px #e5001920}.app-modern .table{background:white}.app-modern .table>thead>tr>th{background:#ededf0;color:#39393f;border-color:#dcdce1;padding:13px 10px}.app-modern .table>tbody>tr>td{border-color:#e9e9ed;padding:11px 10px}.app-modern .table-striped>tbody>tr:nth-of-type(odd){background:#fafafa}.app-modern .panel,.app-modern .well{border-color:var(--line);border-radius:10px;background:white;box-shadow:none}.app-modern .divisor{background:#ededf0;color:#36363c;border-radius:6px;padding:10px}.app-modern .alert{max-width:1140px;margin:0 auto 20px}.dashboard{padding:12px 0 0}.dashboard-heading,.module-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-heading h1{font-size:34px;letter-spacing:-1px;font-weight:650;margin:10px 0}.dashboard-heading p{font-size:14px}.dashboard-date{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:10px 16px;border-radius:8px;background:white}.dashboard-hero{position:relative;overflow:hidden;display:flex;min-height:270px;background:var(--dark);color:white;border-radius:16px;padding:34px 40px;margin:28px 0 38px}.dashboard-hero>div{position:relative;z-index:1;width:62%}.dashboard-hero .eyebrow{color:#ff8592}.dashboard-hero h2{font-size:31px;line-height:1.2;letter-spacing:-.8px;margin:13px 0}.dashboard-hero p{color:#c5c5cc;font-size:13px}.dashboard-hero img{position:absolute;right:22px;bottom:-8px;width:38%;height:270px;object-fit:contain}.hero-link{display:inline-flex;gap:30px;background:var(--accent);color:#ffffff;border-radius:7px;padding:11px 16px;margin-top:12px;font-size:12px;font-weight:700;text-decoration:none!important}.module-heading{margin-bottom:22px}.module-heading h2{margin:7px 0 0;font-size:24px;font-weight:650}.module-search input{width:245px;padding:11px 15px;background:white;border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:400}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.module-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:12px;padding:23px;text-decoration:none!important;color:var(--ink);transition:transform .18s,border-color .18s,box-shadow .18s}.module-card:hover{transform:translateY(-3px);border-color:#e50019;box-shadow:0 8px 22px #2424270a;color:var(--ink)}.module-card-top{display:flex;justify-content:space-between;align-items:center}.module-number{width:34px;height:34px;border-radius:8px;background:#fff0f2;display:grid;place-items:center;font-size:12px;font-weight:700;color:#c30016}.module-category{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.module-card h3{font-size:18px;letter-spacing:-.3px;font-weight:600;margin:19px 0 9px}.module-card p{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 22px}.module-link{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-top:auto;padding-top:15px;border-top:1px solid #ededf0}.module-link>span{font-size:17px}.module-empty{padding:25px;background:white;border:1px solid var(--line);border-radius:10px}.dashboard-footer{display:flex;justify-content:space-between;padding:30px 0;margin-top:20px;border-top:1px solid var(--line);font-size:11px}.dashboard-footer>span{letter-spacing:1px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:768px) and (max-width:1199px){.app-modern .navbar-header{float:none}.app-modern .navbar-nav>li>a{padding-top:12px;padding-bottom:12px}.app-modern{padding-top:130px!important}}
@media(max-width:900px){.login-story{padding:36px 8%;min-height:760px}.login-access{padding:36px 8%}.story-copy h1{font-size:48px}.story-footer{flex-direction:column}.login-machine{width:85%}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.login-shell{grid-template-columns:1fr}.login-story{min-height:280px;padding:26px}.login-brand img{width:145px}.login-brand span{font-size:8px}.story-copy{margin-top:26px}.story-copy h1{font-size:32px;letter-spacing:-1px;margin:12px 0}.story-copy h1 br{display:none}.story-copy h1{max-width:260px}.story-copy p,.story-footer,.login-machine{display:none}.login-access{padding:26px}.login-form-wrap{padding:38px 0}.login-form-wrap h2{font-size:29px}.app-modern .navbar-toggle{margin-top:15px}.app-modern .navbar-nav>li>a{padding-top:12px;padding-bottom:12px}.app-modern .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#e8e8ed}.dashboard-heading{align-items:flex-start}.dashboard-heading h1{font-size:27px}.dashboard-date{display:none}.dashboard-hero{padding:25px;min-height:270px}.dashboard-hero>div{width:100%}.dashboard-hero h2{font-size:27px}.dashboard-hero img{opacity:.15;width:65%;right:-35px}.module-heading{align-items:flex-start;flex-direction:column}.module-search,.module-search input{width:100%}.module-grid{grid-template-columns:1fr}.dashboard-footer{gap:20px}.app-modern .navbar-collapse{max-height:75vh}.app-modern .table-responsive{border-radius:8px}}
@media(prefers-reduced-motion:reduce){.module-card{transition:none}.module-card:hover{transform:none}}
@media print{body.app-modern{padding-top:0!important;background:white!important}.dashboard-hero{background:white;color:black}.dashboard-hero .eyebrow,.dashboard-hero p{color:black}.module-search,.hero-link{display:none}.module-card{break-inside:avoid}}

#servicossolicitados-listagem{transition:opacity .15s ease}#servicossolicitados-listagem.is-loading{opacity:.45;pointer-events:none}
#os-planilhas-listagem{transition:opacity .15s ease}#os-planilhas-listagem.is-loading{opacity:.45;pointer-events:none}

/* Identificacao persistente do modulo aberto. */
.app-modern .navbar-titulopagina {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  height: 46px;
  max-width: 260px;
  margin: 9px 16px 9px 6px;
  padding: 7px 14px;
  border: 1px solid #e5001955;
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: #e5001914;
  color: #ffffff;
  line-height: 1.2;
  text-align: left;
}
.navbar-module-label {
  color: #e3e3e8;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.navbar-module-name {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .5px;
}
@media (max-width: 767px) {
  .app-modern .navbar-titulopagina {
    float: none;
    clear: both;
    max-width: none;
    margin: 0 15px 12px;
  }
  body.app-modern { padding-top: 146px; }
}

/* Filtros de status: opcoes em vermelho e selecao em branco. */
.status-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #ededf0;
}
.status-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--accent);
  border-radius: 7px;
  background: var(--accent);
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
a.status-filter:hover,
a.status-filter:focus-visible {
  border-color: #bd0015;
  background: #bd0015;
  color: #ffffff;
  text-decoration: none;
}
.status-filter.is-selected {
  border-color: #c9c9d0;
  background: #ffffff;
  color: #000000;
  font-weight: 700;
  box-shadow: none;
}

/* Avisos flutuantes que não alteram o espaço dos formulários. */
.app-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1080;
  width: auto;
  min-width: 280px;
  max-width: calc(100% - 48px);
  margin: 0;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
}

.cep-field-header,
.field-label-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 25px;
  gap: 8px;
}
.cep-field-header label,
.field-label-header label {
  margin: 0;
}
.cep-search-action,
.field-label-action {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border: 1px solid var(--accent);
  border-radius: 5px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.cep-search-action:hover,
.cep-search-action:focus,
.field-label-action:hover,
.field-label-action:focus {
  border-color: #bd0015;
  background: #fff0f2;
  color: #bd0015;
  text-decoration: none;
}

@media (max-width: 480px) {
  .app-toast {
    right: 15px;
    bottom: 15px;
    left: 15px;
    min-width: 0;
    max-width: none;
  }
}

/* Painel principal: box de pendências do relacionamento com clientes. */
.pendencias-box {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 22px 23px;
  margin-bottom: 34px;
}
.pendencias-box.has-alert {
  border-color: #e5001966;
  border-left: 4px solid var(--accent);
}
.pendencias-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 18px;
}
.pendencias-heading h2 {
  margin: 7px 0 0;
  font-size: 24px;
  font-weight: 650;
}
.pendencias-all {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none !important;
}
.pendencias-all:hover { color: var(--accent); }
.pendencias-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.pendencias-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
  color: var(--ink);
  text-decoration: none !important;
  transition: border-color .18s, transform .18s;
}
.pendencias-card:hover {
  border-color: var(--accent);
  color: var(--ink);
  transform: translateY(-2px);
}
.pendencias-card strong {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.pendencias-card span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--muted);
}
.pendencias-card.is-danger {
  background: var(--accent);
  border-color: var(--accent);
  color: #ffffff;
}
.pendencias-card.is-danger:hover { background: #bd0015; border-color: #bd0015; color: #ffffff; }
.pendencias-card.is-warning {
  background: #fff4dc;
  border-color: #f0ad4e;
  color: #8a5300;
}
.pendencias-card.is-warning:hover { border-color: #d9901f; color: #8a5300; }
.pendencias-card.is-danger span,
.pendencias-card.is-warning span { color: inherit; }
@media (max-width: 767px) {
  .pendencias-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pendencias-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .pendencias-card { transition: none; }
  .pendencias-card:hover { transform: none; }
}
