/* CAIUS OC 2026.77 — camada visual moderna e fluída */
:root{
  --caius-blue:#0d6efd;
  --caius-blue-2:#3b82f6;
  --caius-navy:#0b2f52;
  --caius-ink:#0f172a;
  --caius-muted:#64748b;
  --caius-line:#dbe7f3;
  --caius-soft:#f4f8ff;
  --caius-card:#ffffff;
  --caius-shadow:0 16px 40px rgba(15,23,42,.08);
  --caius-shadow-soft:0 8px 24px rgba(15,23,42,.06);
  --caius-radius:20px;
}
html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#f7fbff 0,#eef5ff 48%,#f7fbff 100%);color:var(--caius-ink);font-size:15px}.btn,.form-control,.form-select{border-radius:14px}.form-control,.form-select{border-color:#cfdded;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:#60a5fa;box-shadow:0 0 0 .2rem rgba(13,110,253,.12)!important}.btn-primary{background:linear-gradient(135deg,#1677ff,#0d6efd);border:0;box-shadow:0 10px 24px rgba(13,110,253,.18)}.btn-primary:hover{filter:brightness(.98);transform:translateY(-1px)}.btn-outline-primary{border-color:#5ea1ff;color:#0d6efd}.btn-outline-primary:hover{background:#0d6efd;color:#fff}.card{border:1px solid var(--caius-line)!important;box-shadow:var(--caius-shadow-soft);border-radius:var(--caius-radius)!important}
/* Estrutura interna */
.app-shell{background:linear-gradient(180deg,#f8fbff,#eef5ff)}.sidebar{width:286px;background:linear-gradient(180deg,#08243f 0%,#0b2f52 58%,#0a2540 100%);padding:18px 14px;border-right:1px solid rgba(255,255,255,.09);box-shadow:18px 0 42px rgba(15,23,42,.12)}.main{margin-left:286px}.sidebar-head{padding:0 4px 12px;border-bottom:1px solid rgba(255,255,255,.10)}.brand-mark{border-radius:16px;background:linear-gradient(135deg,#60a5fa,#0d6efd);box-shadow:0 12px 26px rgba(13,110,253,.28)}.sidebar-section-label{margin:18px 10px 8px;color:#93b5d9;letter-spacing:.09em}.side-link{min-height:42px;padding:8px 10px;border-radius:15px;color:#d7e8fb;position:relative}.side-link:hover{background:rgba(255,255,255,.10);color:#fff;transform:translateX(2px)}.side-link.active{background:rgba(255,255,255,.14);color:#fff}.side-link.active:before{content:"";position:absolute;left:-8px;top:9px;bottom:9px;width:4px;border-radius:8px;background:#60a5fa}.side-icon{background:rgba(255,255,255,.10);color:#d9ebff}.side-link.active .side-icon{background:#fff;color:#0d6efd}.topbar{height:70px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--caius-line);box-shadow:0 8px 22px rgba(15,23,42,.04)}.content{padding:30px;max-width:1680px}.page-heading{background:linear-gradient(135deg,#ffffff,#f7fbff);border:1px solid var(--caius-line);box-shadow:var(--caius-shadow-soft);border-radius:24px;padding:22px;margin-bottom:20px}.page-heading h1,.page-title{letter-spacing:-.03em;color:#0b2f52}.eyebrow{color:#0d6efd}.section-card .card-body,.filter-card .card-body,.table-card .card-body,.form-card .card-body{padding:22px}.filter-card,.list-filter-card{border:1px solid var(--caius-line);box-shadow:var(--caius-shadow-soft);background:#fff;border-radius:20px}.table-card,.section-card{overflow:hidden}.table-responsive{border-radius:18px}.caius-table,.module-sortable-table{font-size:14px}.caius-table thead th,.module-sortable-table thead th{background:#f4f8ff!important;color:#334155;text-transform:none;font-weight:850;border-bottom:1px solid var(--caius-line)}.caius-table tbody tr,.module-sortable-table tbody tr{transition:.15s ease}.caius-table tbody tr:hover,.module-sortable-table tbody tr:hover{background:#f8fbff;box-shadow:inset 4px 0 0 #0d6efd}.col-acoes .btn,.actions-col .btn,.btn-icon{border-radius:12px}.pagination-bar{background:#fff;border:1px solid var(--caius-line);border-radius:18px;padding:12px 14px;box-shadow:var(--caius-shadow-soft)}.pagination .page-link{border-radius:10px;margin:0 2px;border-color:#dbe7f3;color:#0d6efd;font-weight:800}.pagination .active .page-link{background:#0d6efd;border-color:#0d6efd}.card-kpi{overflow:hidden;position:relative}.card-kpi:after{content:"";position:absolute;right:-34px;top:-34px;width:110px;height:110px;border-radius:50%;background:rgba(13,110,253,.08)}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.quick-card{background:#fff;border-color:var(--caius-line);box-shadow:0 6px 18px rgba(15,23,42,.04)}.quick-card:hover{box-shadow:0 14px 28px rgba(13,110,253,.10);border-color:#93c5fd}.form-card label.form-label{font-weight:800;color:#26435f}.form-card .row{align-items:start}.form-actions{position:sticky;bottom:0;z-index:20;background:rgba(248,251,255,.94);backdrop-filter:blur(12px);border:1px solid var(--caius-line);border-radius:18px;padding:12px;box-shadow:0 -8px 24px rgba(15,23,42,.06)}.google-map-card,.processo-arquivos-card{border-radius:22px!important}.google-map-iframe{width:100%;min-height:340px;border:0;border-radius:18px}.obra-map-search{display:grid;grid-template-columns:1fr auto auto;gap:10px}.obra-map-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.obra-map-summary>div,.rule-box,.import-mini-card{background:#f8fbff;border:1px solid var(--caius-line);border-radius:16px;padding:14px}.obra-map-summary span,.rule-box span,.import-mini-card span{display:block;color:var(--caius-muted);font-size:13px}.obra-map-summary strong,.rule-box strong,.import-mini-card strong{display:block;color:#0b2f52;font-weight:900}.import-mini-card{height:100%;display:flex;flex-direction:column;gap:6px}.import-mini-card i{width:42px;height:42px;border-radius:14px;background:#eaf3ff;color:#0d6efd;display:flex;align-items:center;justify-content:center;font-size:22px}.rule-box{height:100%}
/* Consulta pública */
.public-bg{background:linear-gradient(180deg,#f5f9ff,#edf5ff 48%,#f9fbff)!important}.public-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.90)!important;backdrop-filter:blur(18px);border-bottom:1px solid var(--caius-line)!important}.public-header-inner{height:70px!important}.public-brand strong{color:#0b2f52}.public-nav a:not(.btn){border-radius:12px;padding:8px 10px}.public-nav a:not(.btn):hover{background:#edf5ff;color:#0d6efd}.central-hero-card,.public-detail-card,.open-data-panel,.public-result-card{box-shadow:var(--caius-shadow)!important}.central-page-title.public-modern{padding:38px 0 34px!important;background:radial-gradient(circle at 5% 0,rgba(96,165,250,.22),transparent 30%),linear-gradient(180deg,#f7fbff,#edf5ff)!important}.central-page-title h1{letter-spacing:-.045em}.public-title-row{align-items:center!important}.open-data-actions .btn{border-radius:999px}.public-search-grid{display:grid!important;grid-template-columns:minmax(320px,1.55fr) minmax(170px,.8fr) minmax(170px,.72fr) minmax(190px,.78fr) 170px!important;gap:12px!important;background:rgba(255,255,255,.64);border:1px solid var(--caius-line);border-radius:22px;padding:12px;box-shadow:var(--caius-shadow-soft)}.public-search-grid>*{min-width:0!important}.public-search-grid .form-control,.public-search-grid .form-select,.public-search-grid .btn{height:50px!important;border-radius:15px!important}.public-result-head{background:#fff;border:1px solid var(--caius-line);border-radius:18px;padding:12px 14px;box-shadow:var(--caius-shadow-soft)}.public-tabs{gap:10px!important}.public-tabs a{text-decoration:none!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--caius-shadow-soft)!important}.public-tabs a:hover{transform:translateY(-1px);border-color:#93c5fd!important}.public-card-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;gap:18px!important}.public-result-card{border-radius:24px!important;min-height:260px!important}.public-result-card:hover{transform:translateY(-2px);border-color:#9ec5fe!important}.result-meta{gap:9px!important}.result-meta span{background:#f8fbff;border:1px solid #edf3fb;border-radius:12px;padding:7px 9px}.public-detail-card{border-radius:26px!important}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important}.detail-field{border-radius:18px!important}.detail-map-field,.detail-files-field{grid-column:1/-1!important}.public-files-panel{grid-column:1/-1!important}.public-footer-inner span{display:block}.empty-state i{font-size:34px;color:#0d6efd;display:block;margin-bottom:8px}
/* Arquivos */
.arquivo-grid,.public-file-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}.arquivo-item,.public-file-item{background:#fff!important;border-color:var(--caius-line)!important}.arquivo-item:hover,.public-file-item:hover{border-color:#93c5fd!important;box-shadow:0 12px 26px rgba(13,110,253,.08)}.dropzone-arquivos{background:linear-gradient(180deg,#fff,#f8fbff);border-color:#a9c7e8}.dropzone-arquivos:hover{border-color:#0d6efd;background:#f4f9ff}
@media(max-width:1200px){.public-search-grid{grid-template-columns:1fr 1fr!important}.public-search-grid .input-icon{grid-column:1/-1!important}.public-search-grid .btn{grid-column:1/-1!important}.obra-map-search{grid-template-columns:1fr}}
@media(max-width:992px){.sidebar{transform:translateX(-100%);transition:.2s ease}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.mobile-menu-btn{display:inline-flex!important;align-items:center;justify-content:center}.content{padding:18px}.page-heading{align-items:stretch}.topbar{padding:0 14px}.user-meta{display:none}.public-header-inner{height:auto!important;padding:12px 0;flex-direction:column;align-items:stretch!important}.public-nav{justify-content:space-between;gap:8px}.public-nav a:not(.btn),.public-nav .btn{font-size:13px}}
@media(max-width:768px){.public-search-grid,.detail-grid,.public-card-grid{grid-template-columns:1fr!important}.public-title-row,.public-result-head,.open-data-panel{flex-direction:column!important;align-items:stretch!important}.public-tabs a{min-width:calc(50% - 5px)!important}.central-page-title h1{font-size:32px!important}.obra-map-search{grid-template-columns:1fr}.form-actions{position:static;flex-direction:column}.form-actions .btn{width:100%}}
@media(max-width:540px){.public-tabs a{min-width:100%!important}.public-nav{flex-direction:column;align-items:stretch}.public-nav a,.public-nav .btn{justify-content:center}.content{padding:14px}.page-heading{padding:18px}.public-result-card{min-height:auto!important}}
@media print{.sidebar,.topbar,.public-header,.public-footer,.heading-actions,.form-actions,.open-data-actions,.public-search-grid{display:none!important}body{background:#fff!important}.main{margin-left:0}.content{padding:0}.card,.public-detail-card{box-shadow:none!important;border:1px solid #ddd!important}}
.global-command{align-items:center;gap:10px;min-width:360px;max-width:520px;flex:1;margin:0 18px;background:#f8fbff;border:1px solid var(--caius-line);border-radius:999px;padding:0 14px;height:44px}.global-command i{color:#64748b}.global-command-input{border:0;background:transparent;outline:0;width:100%;font-weight:650;color:#0f172a}.global-command-input::placeholder{color:#94a3b8}@media(max-width:1200px){.global-command{display:none!important}}

/* CAIUS OC 2026.78 — Campos identificadores livres */
.campo-identificador-livre{
  font-family: var(--bs-font-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace);
  letter-spacing: .01em;
}
.campo-identificador-livre::placeholder{
  color:#8a9bb4;
  font-family: inherit;
}

/* CAIUS OC 2026.87 — refinamento visual, valores e usabilidade */
.money-br{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.01em}.valor-total-card{position:relative;overflow:hidden}.valor-total-card:after{content:"";position:absolute;right:-22px;top:-22px;width:74px;height:74px;border-radius:999px;background:rgba(13,110,253,.06)}.valor-total-card.credito:after{background:rgba(25,135,84,.08)}.valor-total-card.debito:after{background:rgba(220,53,69,.08)}.valor-total-card strong{font-variant-numeric:tabular-nums}.saldo-negativo{color:#dc2626!important}.saldo-positivo{color:#1d4ed8!important}.valores-table{min-width:760px}.valores-table thead th{position:sticky;top:0;z-index:1;background:#f7fbff!important}.valores-table td:nth-child(4),.valores-table th:nth-child(4){text-align:right}.valores-table .btn-outline-danger{border-radius:12px}.financial-summary-field{background:linear-gradient(180deg,#ffffff,#f7fbff)!important;border-color:#cfe0f4!important}.financial-summary-field strong{font-size:1.12rem!important;font-variant-numeric:tabular-nums;color:#0b2f52!important}.financial-summary-field.saldo strong{color:#1d4ed8!important}.result-meta span:nth-child(3){font-weight:900;color:#0b2f52}.public-result-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.public-result-card:hover{box-shadow:0 18px 42px rgba(13,110,253,.12)!important}.form-card .form-control,.form-card .form-select{min-height:44px}.form-card textarea.form-control{min-height:112px}.form-card .form-label{margin-bottom:6px}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.table-card .table{margin-bottom:0}.table-card tbody td{vertical-align:middle}.table-card tbody tr td:first-child{font-weight:750;color:#0b2f52}.arquivo-item,.public-file-item,.detail-field{transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.arquivo-item:hover,.public-file-item:hover,.detail-field:hover{transform:translateY(-1px)}.form-actions .btn{font-weight:850}.btn{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.quick-card,.central-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.quick-card:hover,.central-card:hover{transform:translateY(-2px)}.public-search-grid{position:relative}.public-search-grid:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}@media(max-width:768px){.page-heading{align-items:stretch;flex-direction:column}.heading-actions .btn{width:100%}.valores-card .row.g-3>.col-md-4{width:100%}.valores-table{min-width:680px}.public-result-card{min-height:auto!important}.content{padding:14px!important}.card-body{padding:16px!important}}

/* CAIUS OC 2026.88 — Valor da Obra interno e público */
.obra-valor-field{border-color:#b9dcff!important;background:linear-gradient(180deg,#ffffff,#f5fbff)!important}
.obra-valor-field span{color:#0d6efd!important;font-weight:800!important}
.obra-valor-field strong{font-size:1.05rem!important;color:#0b2f52!important}
.form-card input[name="valor"].money-br{text-align:right;font-weight:800;color:#0b2f52;background:#fbfdff;border-color:#bad7f5}
.caius-table .col-valor,.module-sortable-table .col-valor{font-weight:800;color:#0b2f52;text-align:right;white-space:nowrap}
