:root{
  --tp-primary:#003151;
  --tp-primary-strong:#01263f;
  --tp-accent:#ff6b00;
  --tp-accent-soft:rgba(255,107,0,.12);
  --tp-surface:#ffffff;
  --tp-surface-soft:#f8fafc;
  --tp-surface-muted:#eef4f8;
  --tp-border:rgba(15,23,42,.10);
  --tp-border-strong:rgba(0,49,81,.18);
  --tp-text:#0f172a;
  --tp-muted:#64748b;
  --tp-shadow:0 10px 24px rgba(2,6,23,.06);
  --tp-shadow-soft:0 6px 14px rgba(2,6,23,.05);
  --tp-shadow-hover:0 14px 30px rgba(2,6,23,.10);
  --tp-radius:14px;
  --tp-radius-lg:18px;
  --tp-radius-pill:999px;
  --tp-focus:0 0 0 .24rem rgba(255,107,0,.16);
}

html{scroll-behavior:smooth}
body{
  color:var(--tp-text);
  background:
    radial-gradient(circle at top right, rgba(255,107,0,.05), transparent 22%),
    radial-gradient(circle at top left, rgba(0,49,81,.05), transparent 24%),
    var(--wrs-bg, #f4f6f8);
}
body.tp-ui-ready{color:var(--tp-text)}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6{
  color:var(--tp-primary);
  letter-spacing:-.01em;
}
.h4,.h5,.h6,
h4,h5,h6{font-weight:900}
.text-muted,
.small.text-muted,
.form-text{color:var(--tp-muted)!important}

.wrs-topbar{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(10px);
  box-shadow:0 10px 24px rgba(2,6,23,.05);
}
.topbar-office-name{font-weight:900!important;color:var(--tp-primary)!important}
.topbar-office-cnpj{color:var(--tp-muted)!important}

.wrs-sidebar{
  background:linear-gradient(180deg, #003151 0%, #002743 100%)!important;
}
.wrs-sidebar .brand{
  padding-bottom:16px!important;
}
.wrs-sidebar .brand .subtitle{
  color:rgba(255,255,255,.78)!important;
  font-weight:600;
  letter-spacing:.01em;
}
.wrs-nav a,
.wrs-nav .nav-parent{
  min-height:44px;
  border:1px solid transparent;
  transition:background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease, color .18s ease;
}
.wrs-nav a:hover,
.wrs-nav .nav-parent:hover,
.nav-children a:hover{
  background:var(--tp-accent)!important;
  border-color:rgba(255,255,255,.08)!important;
  color:#fff!important;
  transform:translateX(2px);
}
.wrs-nav a.active,
.wrs-nav .nav-parent.active{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.wrs-sb-toggle{
  box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
}

.wrs-content,
.container-fluid,
.container{
  color:var(--tp-text);
}
.wrs-content{padding:18px!important}
.container-fluid{padding-left:16px!important;padding-right:16px!important}

.card,
.wrs-card,
.modal-content,
.notif-dropdown,
.login-card{
  background:var(--tp-surface)!important;
  border:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;
  box-shadow:var(--tp-shadow)!important;
}
.card,
.wrs-card{
  overflow:hidden;
}
.card-header,
.modal-header{
  padding:.9rem 1rem!important;
  background:linear-gradient(180deg, rgba(0,49,81,.05), rgba(255,255,255,.94))!important;
  border-bottom:1px solid var(--tp-border)!important;
}
.card-body,
.modal-body{
  padding:.9rem 1rem!important;
}
.card-footer,
.modal-footer{
  padding:.82rem 1rem!important;
  background:rgba(248,250,252,.68)!important;
  border-top:1px solid var(--tp-border)!important;
}
.card-title,
.modal-title{font-weight:900!important;color:var(--tp-primary)!important}
.card:hover,
.login-card:hover{
  box-shadow:var(--tp-shadow-hover)!important;
}

/* painéis de filtro e barras de ação */
.tp-filter-panel,
.wrs-filters-row,
.wrs-docfilters,
.nfse-filter .card-body,
.wrs-content > form.no-print > .row.g-2.align-items-end,
.wrs-content > form.no-print > .row.g-3.align-items-end,
.wrs-content > form > .row.g-2.align-items-end:first-child,
.wrs-content > form > .row.g-3.align-items-end:first-child{
  background:var(--tp-surface)!important;
  border:1px solid var(--tp-border)!important;
  border-radius:16px!important;
  padding:12px!important;
  box-shadow:var(--tp-shadow-soft)!important;
}
.wrs-filters-row,
.wrs-docfilters{margin-bottom:12px!important}

.btn,
button.btn,
a.btn,
input.btn{
  min-height:38px;
  border-radius:12px!important;
  font-weight:800!important;
  letter-spacing:.01em;
  padding:.46rem .8rem!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  transition:transform .12s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease!important;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn:focus,
.btn:focus-visible,
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.btn-close:focus{
  box-shadow:var(--tp-focus)!important;
}
.btn i,
.btn svg{flex:0 0 auto}
.btn-sm{
  min-height:30px;
  padding:.3rem .6rem!important;
  border-radius:12px!important;
  font-size:.83rem!important;
}
.btn-lg{
  min-height:42px;
  padding:.58rem .95rem!important;
}
.btn-primary,
.btn-wrs{
  background:var(--tp-primary)!important;
  border-color:var(--tp-primary)!important;
  color:#fff!important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-wrs:hover,
.btn-wrs:focus,
.btn-wrs:active{
  background:var(--tp-accent)!important;
  border-color:var(--tp-accent)!important;
  color:#fff!important;
  box-shadow:0 14px 26px rgba(255,107,0,.22)!important;
}
.btn-outline-primary,
.btn-outline-wrs{
  background:#fff!important;
  border-color:rgba(0,49,81,.24)!important;
  color:var(--tp-primary)!important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-wrs:hover,
.btn-outline-wrs:focus,
.btn-outline-wrs:active{
  background:var(--tp-accent)!important;
  border-color:var(--tp-accent)!important;
  color:#fff!important;
}
.btn-warning{
  background:var(--tp-accent)!important;
  border-color:var(--tp-accent)!important;
  color:#fff!important;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active{
  background:var(--tp-primary)!important;
  border-color:var(--tp-primary)!important;
  color:#fff!important;
}
.btn-outline-warning{
  background:#fff!important;
  border-color:rgba(255,107,0,.34)!important;
  color:var(--tp-accent)!important;
}
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active{
  background:var(--tp-primary)!important;
  border-color:var(--tp-primary)!important;
  color:#fff!important;
}
.btn-secondary,
.btn-outline-secondary,
.btn-light{
  background:#fff!important;
  border-color:rgba(15,23,42,.12)!important;
  color:var(--tp-primary)!important;
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-light:hover,
.btn-light:focus,
.btn-light:active{
  background:var(--tp-primary)!important;
  border-color:var(--tp-primary)!important;
  color:#fff!important;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active{color:#fff!important}
.btn-icon,
.btn-wrs-icon,
.notif-bell,
#btnManualRefresh,
.wrs-topbar .topbar-left > .btn,
.wrs-topbar .topbar-right > .btn{
  width:38px;
  min-width:38px;
  padding:0!important;
}

label.form-label,
.form-label,
small.form-label{
  color:var(--tp-primary)!important;
  font-weight:800!important;
  letter-spacing:.01em;
  margin-bottom:.45rem!important;
}
.form-control,
.form-select,
.input-group-text,
textarea.form-control,
input.form-control,
select.form-select{
  min-height:38px!important;
  border-radius:12px!important;
  border:1px solid rgba(15,23,42,.14)!important;
  background:#fff!important;
  color:var(--tp-text)!important;
}
.input-group > .btn,
.input-group > .form-control,
.input-group > .form-select,
.input-group > .input-group-text{
  min-height:38px!important;
}
textarea.form-control{min-height:110px!important;resize:vertical}
.form-control::placeholder,
.form-select::placeholder{color:#94a3b8!important}
.input-group-text{
  background:rgba(0,49,81,.05)!important;
  color:var(--tp-primary)!important;
  font-weight:800!important;
}
.form-check-input{
  width:1.08rem;
  height:1.08rem;
  border-color:rgba(15,23,42,.2)!important;
}
.form-check-input:checked{
  background-color:var(--tp-primary)!important;
  border-color:var(--tp-primary)!important;
}
.form-check-label{color:var(--tp-text)!important}

.table-responsive,
.tp-table-wrap{
  border:1px solid var(--tp-border)!important;
  border-radius:16px!important;
  overflow:auto!important;
  background:#fff!important;
  box-shadow:var(--tp-shadow-soft)!important;
}
.table{
  margin-bottom:0!important;
  color:var(--tp-text)!important;
}
.table > :not(caption) > * > *{
  padding:.58rem .7rem!important;
  border-color:rgba(15,23,42,.08)!important;
}
.table thead th,
.table-responsive thead th{
  background:linear-gradient(180deg, rgba(0,49,81,.08), rgba(248,250,252,.98))!important;
  color:var(--tp-primary)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.08em;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
}
.table tbody tr:nth-child(even){background:rgba(248,250,252,.72)}
.table tbody tr:hover,
.table-hover tbody tr:hover{
  background:rgba(255,107,0,.08)!important;
}
.table .btn{box-shadow:none!important}

.badge{
  border-radius:var(--tp-radius-pill)!important;
  padding:.3rem .58rem!important;
  font-weight:800!important;
  letter-spacing:.01em;
}
.badge-wrs,
.pct-badge{
  background:rgba(0,49,81,.10)!important;
  color:var(--tp-primary)!important;
}

.alert{
  border-radius:16px!important;
  border:1px solid var(--tp-border)!important;
  background:#fff!important;
  box-shadow:var(--tp-shadow-soft)!important;
}
.alert-danger{border-left:4px solid #dc3545!important}
.alert-warning{border-left:4px solid var(--tp-accent)!important}
.alert-success{border-left:4px solid #2E5E4E!important}
.alert-info{border-left:4px solid var(--tp-primary)!important}

.nav-tabs,
.nav-pills{
  gap:.45rem;
  border-bottom:0!important;
  align-items:center;
}
.nav-tabs .nav-link,
.nav-pills .nav-link{
  border:none!important;
  border-radius:999px!important;
  background:#eef4f8!important;
  color:var(--tp-primary)!important;
  font-weight:800!important;
  padding:.46rem .86rem!important;
  transition:background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nav-tabs .nav-link:hover,
.nav-pills .nav-link:hover{
  background:rgba(255,107,0,.14)!important;
  color:var(--tp-primary)!important;
  transform:translateY(-1px);
}
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active{
  background:var(--tp-primary)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(0,49,81,.18)!important;
}

.notif-dropdown{
  border-radius:20px!important;
  border:1px solid var(--tp-border)!important;
  box-shadow:var(--tp-shadow-hover)!important;
}
.notif-dd-header,
.notif-dd-footer{
  background:rgba(248,250,252,.9)!important;
}
.notif-dd-item:hover{background:rgba(255,107,0,.08)!important}
.notif-dd-footer a{color:var(--tp-primary)!important;font-weight:800!important}
.notif-dd-footer a:hover{color:var(--tp-accent)!important}

.wrs-password-wrap,
.tp-password-wrap{position:relative}
.wrs-pass-toggle,
.tp-pass-toggle{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:var(--tp-primary);
  width:34px;
  height:34px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.wrs-pass-toggle:hover,
.tp-pass-toggle:hover{
  background:var(--tp-accent-soft);
  color:var(--tp-accent);
}

body.tp-auth-page,
body.tp-portal-auth{
  min-height:100vh;
}
.tp-auth-page .container,
.tp-portal-auth .container{position:relative;z-index:1}
.tp-auth-page .card,
.tp-portal-auth .login-card{
  backdrop-filter:blur(10px);
}
.tp-auth-page .card-header{
  padding:1.35rem 1.35rem 1rem!important;
}
.tp-auth-page .card-body{
  padding:1.1rem 1.35rem 1.35rem!important;
}
.tp-auth-page .badge-wrs{display:none!important}
.tp-auth-page .text-muted{font-weight:500}
.tp-portal-auth .login-card{padding:34px 32px 28px!important}
.tp-portal-auth .login-logo{
  background:linear-gradient(180deg, #003151, #022944)!important;
  box-shadow:0 14px 30px rgba(0,49,81,.25);
}
.tp-portal-auth h1{font-weight:900!important;letter-spacing:-.02em}

.wrs-sidebar-backdrop{
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.44);
  backdrop-filter:blur(2px);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:1025;
}
.wrs-sidebar-backdrop.show{
  opacity:1;
  pointer-events:auto;
}
body.sidebar-open-mobile{overflow:hidden}

@media (max-width: 991.98px){
  .wrs-content{padding:16px!important}
  .wrs-topbar{padding:12px 14px!important}
  .topbar-office-name{max-width:220px}
  .wrs-nav a:hover,
  .wrs-nav .nav-parent:hover,
  .nav-children a:hover{transform:none}
}

@media (max-width: 767.98px){
  .wrs-content{padding:14px!important}
  .card-header,
  .card-body,
  .card-footer,
  .modal-header,
  .modal-body,
  .modal-footer{padding:.95rem!important}
  .btn{min-height:40px;font-size:.92rem!important}
  .btn-sm{min-height:32px;font-size:.8rem!important}
  .table > :not(caption) > * > *{padding:.72rem .7rem!important}
  .nav-tabs,
  .nav-pills{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}
  .nav-tabs .nav-link,
  .nav-pills .nav-link{white-space:nowrap}
  .wrs-topbar .topbar-right{gap:8px!important}
  .wrs-topbar .btn-icon,
  .wrs-topbar .btn-wrs-icon,
  .wrs-topbar .btn-outline-wrs,
  .wrs-topbar .btn-outline-primary,
  .wrs-topbar .btn-outline-secondary{min-width:40px}
  .notif-dropdown{width:min(94vw, 380px)!important;right:-6px!important}
}

@media (max-width: 575.98px){
  .wrs-content{padding:12px!important}
  .container-fluid{padding-left:12px!important;padding-right:12px!important}
  .topbar-office-name{max-width:170px;font-size:.95rem}
  .topbar-office-cnpj{font-size:.74rem}
  .wrs-topbar .topbar-right{gap:6px!important}
  .card,
  .modal-content,
  .table-responsive,
  .notif-dropdown,
  .login-card{border-radius:16px!important}
}


/* ===== Compact modern standardization ===== */
.wrs-content > .d-flex.flex-wrap.justify-content-between.align-items-center.gap-2.mb-3,
.wrs-content > .d-flex.align-items-center.justify-content-between.mb-3,
.wrs-content > .d-flex.justify-content-between.align-items-center.flex-wrap.gap-2.mb-3{
  margin-bottom:12px!important;
}

.card-header .small,
.card-body .small,
.table .small{font-size:.76rem!important}

/* filtros e painéis em linha */
.tp-filter-panel .row,
.card .row.g-2,
.card .row.g-3,
.wrs-content form > .row.g-2,
.wrs-content form > .row.g-3{align-items:end}
.tp-filter-panel .row > [class*="col-"],
.card .row.g-2 > [class*="col-"],
.card .row.g-3 > [class*="col-"],
.wrs-content form > .row.g-2 > [class*="col-"],
.wrs-content form > .row.g-3 > [class*="col-"]{margin-bottom:0!important}

/* navegação e abas sempre em linha */
.nav-tabs,
.nav-pills{
  flex-wrap:nowrap!important;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:3px;
  scrollbar-width:thin;
}
.nav-tabs .nav-item,
.nav-pills .nav-item{flex:0 0 auto}
.nav-tabs .nav-link,
.nav-pills .nav-link{white-space:nowrap; font-size:.95rem}

/* tabelas mais compactas e alinhadas */
.table{table-layout:auto}
.table > :not(caption) > * > *{vertical-align:middle!important}
.table tbody td{font-size:.95rem}
.table tbody td .form-control,
.table tbody td .form-select,
.table tbody td .input-group-text{min-height:34px!important; font-size:.92rem!important; border-radius:12px!important}
.table tbody td textarea.form-control{min-height:76px!important}
.table td:last-child,
.table th:last-child{white-space:nowrap}
.table td:last-child .d-flex{flex-wrap:nowrap!important}
.table td:last-child .btn,
.table td:last-child .btn-wrs-icon,
.table td:last-child .form-check{flex:0 0 auto}
.table td:last-child .form-check{margin-bottom:0!important}
.table td:last-child form{display:inline-flex; margin:0}
.table td:last-child .btn + .btn,
.table td:last-child form + .btn,
.table td:last-child .btn + form{margin-left:.32rem!important}

/* botões menores e mais coesos */
.btn,
button.btn,
a.btn,
input.btn{font-size:.92rem!important; box-shadow:none!important}
.btn-sm{font-size:.79rem!important}
.btn-wrs-icon,
.btn-icon,
.btn-wrs-icon.btn-timer{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  border-radius:12px!important;
}
.btn-wrs-icon i,
.btn-icon i{font-size:16px!important}

.btn-wrs-icon.btn-timer[data-action="play"]{
  background:var(--tp-primary)!important;
  border-color:var(--tp-primary)!important;
  color:var(--tp-accent)!important;
  box-shadow:0 10px 22px rgba(0,49,81,.18)!important;
}
.btn-wrs-icon.btn-timer[data-action="play"]:hover{
  background:var(--tp-primary-strong)!important;
  border-color:var(--tp-primary-strong)!important;
  color:var(--tp-accent)!important;
}
.btn-wrs-icon.btn-timer[data-action="pause"],
.btn-wrs-icon.btn-timer[data-action="stop"]{
  background:#fff!important;
  border-color:var(--tp-accent)!important;
  color:var(--tp-primary)!important;
}
.btn-wrs-icon.btn-timer[data-action="pause"]:hover,
.btn-wrs-icon.btn-timer[data-action="stop"]:hover{
  background:rgba(255,107,0,.08)!important;
  border-color:var(--tp-accent)!important;
  color:var(--tp-primary)!important;
}

/* badges, contadores e período */
.badge,
.badge-wrs,
.pct-badge{font-size:.78rem!important}
.js-time,
.badge.text-bg-light,
.badge.bg-light{
  min-width:74px;
  text-align:center;
  border-radius:999px!important;
}

/* ações específicas de solicitações */
.btnEdit,
.btnTransfer,
.btnHistory,
button.btn-success.btn-sm{
  min-height:32px!important;
  padding:.3rem .62rem!important;
  border-radius:12px!important;
  font-size:.79rem!important;
}

/* modais e cards menos altos */
.modal-dialog{margin:1rem auto}
.modal-body .row.g-3 > [class*="col-"]{margin-bottom:0!important}

/* evita que links/botões do topo fiquem gigantes */
.wrs-topbar .btn,
.wrs-topbar .btn-outline-wrs,
.wrs-topbar .btn-outline-primary,
.wrs-topbar .btn-outline-secondary,
.wrs-topbar .btn-light{min-height:38px!important}

/* listas/headers mais enxutos */
.card-header .fw-bold{line-height:1.15}
.card-header .small.text-muted{margin-top:.15rem}

/* responsivo mantendo linha e sem perder usabilidade */
@media (max-width: 991.98px){
  .wrs-content{padding:14px!important}
  .container-fluid{padding-left:12px!important;padding-right:12px!important}
  .table-responsive{overflow-x:auto!important}
}

@media (max-width: 767.98px){
  .card-header,.card-body,.card-footer,.modal-header,.modal-body,.modal-footer{padding:.82rem .88rem!important}
  .btn,
  button.btn,
  a.btn,
  input.btn{font-size:.88rem!important}
  .nav-tabs .nav-link,
  .nav-pills .nav-link{font-size:.9rem!important}
}
