:root {
  --bg: #f4f5f7;
  --surface: #ffffff;
  --surface-soft: #f9fafb;
  --border: #e5e7eb;
  --text: #1f2937;
  --muted: #6b7280;
  --orange: #f15a24;
  --orange-dark: #d94d1a;
  --green: #4da455;
  --green-dark: #3d8a46;
  --warning: #f59e0b;
  --danger: #dc2626;
  --shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  --radius: 18px;
  --toolbar-height: 38px;
  --toolbar-gap: 10px;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: var(--bg); color: var(--text); }
.shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 280px; background: #fff; border-right: 1px solid var(--border); padding: 24px 18px; display:flex; flex-direction:column; overflow-y:auto; z-index:100; }
.brand { padding: 6px 10px 26px; }
.brand img { max-width: 190px; width: 100%; height: auto; display:block; }
.nav { display: grid; gap: 5px; }
.nav-link { text-decoration:none; color: var(--text); padding: 7px 14px; border-radius: 14px; font-weight: 400; font-size: 15px; line-height: 1.15; }
.nav-link:hover { background: #fff3ee; color: var(--orange-dark); }
.nav-link.active { background: linear-gradient(90deg, #fff1eb, #fef8f3); color: var(--orange-dark); border-left: 4px solid var(--orange); font-weight: 600; }
.sidebar-footer { margin-top:auto; padding: 14px 10px 0; color: var(--muted); font-size: 13px; }
.main { margin-left: 280px; padding: 28px; min-height: 100vh; }
.topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom: 18px; }
.topbar h1 { margin:0; font-size: 30px; }
.subtitle { margin: 4px 0 0; color: var(--muted); }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; margin-bottom: 20px; }
.card-head { display:flex; align-items:center; justify-content:space-between; gap: 16px; margin-bottom: 18px; }
.card-head h2 { margin:0; font-size: 20px; }
.filter-card { background: linear-gradient(180deg, #fff, #fffcfb); }
.filters-inline { display:flex; gap: 12px; flex-wrap: wrap; align-items:center; }
input[type=text], select { width:100%; min-width: 240px; background:#fff; border:1px solid var(--border); border-radius: 14px; padding: 12px 14px; font-size: 15px; }
input[type=text]:focus, select:focus { outline:none; border-color: #f8a383; box-shadow: 0 0 0 4px rgba(241,90,36,.12); }
.btn { display:inline-flex; align-items:center; justify-content:center; border-radius: 14px; padding: 11px 16px; text-decoration:none; border:none; cursor:pointer; font-weight: 700; }
.btn-primary { background: var(--orange); color:#fff; }
.btn-primary:hover { background: var(--orange-dark); }
.btn-secondary { background:#fff; color: var(--text); border:1px solid var(--border); }
.btn[disabled] { opacity: .55; cursor:not-allowed; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse: collapse; }
thead th { text-align:left; font-size: 13px; letter-spacing: .02em; color: var(--muted); padding: 12px; border-bottom:1px solid var(--border); }
tbody td { padding: 14px 12px; border-bottom:1px solid #f0f2f5; }
tbody tr:hover { background: #fcfcfd; }
.badge { display:inline-flex; align-items:center; border-radius: 999px; padding: 6px 10px; font-size: 12px; font-weight:700; }
.badge.success { background: #eef8ef; color: var(--green-dark); }
.badge.warning { background: #fff7e7; color: #b45309; }
.badge.muted { background: #f3f4f6; color: #6b7280; }
.badge.neutral { background: #fff1eb; color: var(--orange-dark); }
.context, .count { color: var(--muted); font-size: 14px; }
.flash-wrap { display:grid; gap:10px; margin-bottom:16px; }
.flash { border-radius: 14px; padding: 12px 14px; font-weight: 600; }
.flash.success { background:#eef8ef; color: var(--green-dark); }
.flash.error { background:#fff1f2; color:#be123c; }
.flash.warning { background:#fff7e7; color:#b45309; margin-bottom: 12px; }
.stats-grid { display:grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 18px; margin-bottom: 20px; }
.stat-card { background:#fff; border:1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px; }
.stat-card span { color: var(--muted); display:block; margin-bottom: 8px; }
.stat-card strong { font-size: 34px; }
.accent-orange { border-top: 4px solid var(--orange); }
.accent-green { border-top: 4px solid var(--green); }
.form-grid { display:grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 16px; }
.form-grid label { display:block; margin-bottom: 8px; font-size: 14px; color: var(--muted); font-weight:700; }
.form-grid .span-2 { grid-column: span 2; }
.form-actions { display:flex; gap: 12px; align-items:end; }
.checkbox { display:flex; align-items:end; }
.empty { color: var(--muted); text-align:center; padding: 26px !important; }
@media (max-width: 980px) {
  .shell { min-height: auto; }
  .sidebar { position: static; inset: auto; width: auto; border-right:none; border-bottom:1px solid var(--border); max-height:none; overflow:visible; }
  .main { margin-left: 0; }
  .stats-grid, .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: span 1; }
}

.compact-card{padding:16px 18px}
.filters-inline-card{align-items:end}
.field{display:grid;gap:6px}.field label{font-size:13px;color:var(--muted);font-weight:700}.field.wide{min-width:420px;flex:1}.field.small{min-width:140px;max-width:180px}.inline-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.count-group{display:flex;align-items:center;gap:10px}.dense-table thead th{padding:9px 12px;font-size:12px}.dense-table tbody td{padding:8px 12px;font-size:14px;line-height:1.2}.table-link{color:var(--orange-dark);font-weight:700;text-decoration:none}.table-link:hover{text-decoration:underline}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.pagination-actions{display:flex;gap:10px}.pagination-info{color:var(--muted);font-size:14px}




[hidden]{display:none !important;}
.loading-overlay{position:fixed;inset:0;background:rgba(18,24,32,.38);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.loading-panel{background:#ffffff;border:1px solid rgba(226,232,240,.9);border-radius:24px;box-shadow:0 20px 60px rgba(15,23,42,.14);padding:18px 20px 16px;display:grid;gap:10px;justify-items:center;min-width:240px}
.cooking-loader-panel{min-width:240px}
.cooking-loader{position:relative;width:170px;height:114px;display:grid;place-items:center}
.cooking-loader-svg-wrap{overflow:visible}
.cooking-loader-svg{display:block;width:100%;height:100%;pointer-events:none;filter:none}
.loading-text{font-weight:800;color:#334155;font-size:14px;text-align:center;letter-spacing:.01em}
@media (max-width: 640px){.loading-panel{min-width:auto;width:min(88vw,280px);padding:16px 16px 14px}.cooking-loader-panel{min-width:auto}.cooking-loader{width:min(64vw,160px);height:108px}}
.filters-inline-card{display:grid;grid-template-columns:minmax(380px,1fr) 108px auto;gap:16px;align-items:end}
.field.small select,.field.small input[type=text]{min-width:84px;max-width:108px;width:108px}
.inline-actions.align-end{display:flex;gap:12px;align-items:end;justify-content:flex-start;flex-wrap:wrap}
.equal-btn{height:var(--toolbar-height);min-height:var(--toolbar-height);padding:0 18px}
.cartoes-context{margin-top:18px;font-size:15px}
.search-select{position:relative}
.search-select-input{width:100%;min-width:0}
.search-select-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:8px;display:none;max-height:280px;overflow:auto;z-index:40}
.search-select.open .search-select-menu{display:block}
.search-select-option{display:block;width:100%;text-align:left;background:#fff;border:none;border-radius:10px;padding:10px 12px;font-size:15px;cursor:pointer;color:var(--text)}
.search-select-option:hover,.search-select-option.active{background:#fff3ee;color:var(--orange-dark)}
.tighter-table thead th{padding:8px 12px}
.tighter-table tbody td{padding:4px 12px;font-size:13px;line-height:1.1}
.tighter-table .badge{padding:3px 8px;font-size:11px;line-height:1}
@media (max-width: 980px){.filters-inline-card{grid-template-columns:1fr}.field.small select,.field.small input[type=text]{max-width:none;width:100%}}

.origin-picker .search-select-menu{max-height:220px}


.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:14px;margin-bottom:20px}
.dashboard-kpi-card{background:#fff;border:1.5px solid rgba(241,90,36,.8);border-radius:24px;padding:10px 14px 12px;box-shadow:var(--shadow);min-height:110px;display:grid;align-content:start}
.dashboard-kpi-title{text-align:center;font-weight:800;font-size:15px;color:#4b5563;margin-bottom:10px}
.dashboard-kpi-split{display:grid;align-items:end;gap:10px}
.dashboard-kpi-split.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-kpi-split.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.dashboard-kpi-split>div{text-align:center}
.dashboard-kpi-split span{display:block;font-size:13px;color:#555;margin-bottom:4px;white-space:nowrap}
.dashboard-kpi-split strong{display:block;font-size:22px;line-height:1.1;color:#111827}
.dashboard-kpi-alerts strong{font-size:20px}
.dashboard-summary-card{border:1.5px solid rgba(77,164,85,.95);border-radius:34px;padding:16px 18px 14px}
.dashboard-summary-card .card-head{margin-bottom:12px}
.dashboard-summary-card .card-head h2{font-size:18px}
@media (max-width: 1400px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media (max-width: 980px){.dashboard-kpi-grid{grid-template-columns:1fr}}

.topbar-with-user{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.userbox{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:10px 12px;box-shadow:var(--shadow)}
.userbox-text{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.userbox-text span{font-size:12px;color:var(--muted)}
.auth-body{background:linear-gradient(180deg,#fff6f0 0%,#f8fafc 100%)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:26px 24px 24px}
.auth-brand{text-align:center;margin-bottom:12px}
.auth-brand img{max-width:220px;width:100%;height:auto}
.auth-card h2{text-align:center;margin:0 0 8px;font-size:28px;color:var(--text)}
.auth-subtitle{text-align:center;margin:0 0 20px;color:var(--muted)}
.auth-form{display:grid;gap:14px}
.auth-form .field.full{display:grid;gap:7px}
.auth-form .field.full input{height:46px;border-radius:14px;border:1px solid var(--border);padding:0 14px;font-size:15px}
.auth-submit{width:100%;justify-content:center;margin-top:4px}
.auth-help{text-align:center;color:var(--muted);margin-top:14px}
.auth-flash-wrap{width:min(440px,100%);margin-bottom:16px}
.actions-cell{display:flex;gap:10px;align-items:center;justify-content:flex-start;white-space:nowrap}
.inline-delete{display:inline}
.inline-delete button{background:none;border:none;padding:0;cursor:pointer;font:inherit}
.danger-link{color:#b42318}
.muted-text{color:#94a3b8}
.form-card h2{margin-top:0;margin-bottom:18px}
@media (max-width: 980px){.topbar-with-user{flex-direction:column}.userbox{width:100%;justify-content:space-between}.userbox-text{align-items:flex-start}}

.topbar-with-user{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.userbox{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:10px 12px;box-shadow:var(--shadow)}
.userbox-text{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.userbox-text span{font-size:12px;color:var(--muted)}
.auth-body{background:linear-gradient(180deg,#fff6f0 0%,#f8fafc 100%)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:26px 24px 24px}
.auth-brand{text-align:center;margin-bottom:12px}
.auth-brand img{max-width:220px;width:100%;height:auto}
.auth-card h2{text-align:center;margin:0 0 8px;font-size:28px;color:var(--text)}
.auth-subtitle{text-align:center;margin:0 0 20px;color:var(--muted)}
.auth-form{display:grid;gap:14px}
.auth-form .field.full{display:grid;gap:7px}
.auth-form .field.full input{height:46px;border-radius:14px;border:1px solid var(--border);padding:0 14px;font-size:15px}
.auth-submit{width:100%;justify-content:center;margin-top:4px}
.auth-help{text-align:center;color:var(--muted);margin-top:14px}
.auth-flash-wrap{width:min(440px,100%);margin-bottom:16px}
.actions-cell{display:flex;gap:10px;align-items:center;justify-content:flex-start;white-space:nowrap}
.inline-delete{display:inline}
.inline-delete button{background:none;border:none;padding:0;cursor:pointer;font:inherit}
.danger-link{color:#b42318}
.muted-text{color:#94a3b8}
.form-card h2{margin-top:0;margin-bottom:18px}
.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:14px;margin-bottom:20px}
.dashboard-kpi-card{background:#fff;border:1.5px solid rgba(241,90,36,.8);border-radius:24px;padding:10px 14px 12px;box-shadow:var(--shadow);min-height:110px;display:grid;align-content:start}
.dashboard-kpi-title{text-align:center;font-weight:800;font-size:15px;color:#4b5563;margin-bottom:10px}
.dashboard-kpi-split{display:grid;align-items:end;gap:10px}.dashboard-kpi-split.two{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi-split.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.dashboard-kpi-split>div{text-align:center}.dashboard-kpi-split span{display:block;font-size:13px;color:#555;margin-bottom:4px;white-space:nowrap}.dashboard-kpi-split strong{display:block;font-size:22px;line-height:1.1;color:#111827}
.dashboard-kpi-alerts strong{font-size:20px}.dashboard-summary-card{border:1.5px solid rgba(77,164,85,.95);border-radius:34px;padding:16px 18px 14px}
@media (max-width: 1400px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media (max-width: 980px){.topbar-with-user{flex-direction:column}.userbox{width:100%;justify-content:space-between}.userbox-text{align-items:flex-start}.dashboard-kpi-grid{grid-template-columns:1fr}}

.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;position:relative}
.auth-stack{position:relative;display:grid;place-items:center;width:min(520px,100%)}
.auth-floating-flashes{position:absolute;top:-140px;left:50%;transform:translateX(-50%);width:min(440px,100%)}
.auth-card{margin:0 auto}
.auth-brand{margin-bottom:18px}
@media (max-width: 640px){.auth-floating-flashes{position:static;transform:none;left:auto;top:auto;margin-bottom:16px;width:100%}.auth-shell{align-items:flex-start;padding-top:28px}}

.inline-actions-wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.inline-actions-wrap form{display:inline-block;margin:0}
.card .subtitle{margin:0;color:#667085}



.table-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 12px 0;}
.table-toolbar-form{display:flex;gap:12px;align-items:center;}
.rows-per-page{display:flex;align-items:center;gap:10px;color:#5f6f87;font-size:14px;font-weight:600;}
.filter-row input{width:100%;padding:8px 10px;border:1px solid #d9dee8;border-radius:10px;font-size:13px;background:#fff;}
.filter-cell-actions{display:flex;gap:8px;align-items:center;}
.btn-small{padding:8px 12px;min-height:36px;}

.column-filters-form{margin:0 0 12px 0;}
.column-filters-grid{display:grid;grid-template-columns:repeat(9,minmax(110px,1fr));gap:10px;}
.column-filters-grid input{width:100%;padding:8px 10px;border:1px solid #d9dee8;border-radius:10px;font-size:13px;background:#fff;}
.filter-actions-inline{display:flex;gap:8px;align-items:center;}
.filter-actions-inline input{flex:1;}


.registos-context-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto;gap:16px;align-items:end}
.table-head-inline{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.table-head-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.table-toolbar-form{display:flex;align-items:center;gap:16px}
.rows-per-page{display:flex;align-items:center;gap:10px;color:#5f6f87;font-size:14px;font-weight:600}
.rows-per-page span{white-space:nowrap}
.registos-table{table-layout:fixed}
.registos-table thead th,.registos-table tbody td{vertical-align:top}
.registos-table th:nth-child(1),.registos-table td:nth-child(1){width:9%}
.registos-table th:nth-child(2),.registos-table td:nth-child(2){width:10%}
.registos-table th:nth-child(3),.registos-table td:nth-child(3){width:6%}
.registos-table th:nth-child(4),.registos-table td:nth-child(4){width:11%}
.registos-table th:nth-child(5),.registos-table td:nth-child(5){width:11%}
.registos-table th:nth-child(6),.registos-table td:nth-child(6){width:10%}
.registos-table th:nth-child(7),.registos-table td:nth-child(7){width:16%}
.registos-table th:nth-child(8),.registos-table td:nth-child(8){width:15%}
.registos-table th:nth-child(9),.registos-table td:nth-child(9){width:12%}
.header-filter-row th{padding:10px 10px 12px}
.header-filter-row .col-label{display:block;font-size:12px;font-weight:700;color:#475467;margin-bottom:8px}
.header-filter-row input{width:100%;padding:7px 10px;border:1px solid #d9dee8;border-radius:10px;font-size:13px;background:#fff;min-width:0}
.header-filter-actions{display:flex;align-items:center;gap:8px}
.header-filter-actions input{flex:1}
.registos-grid-form{margin:0}
@media (max-width: 980px){.registos-context-form{grid-template-columns:1fr}.table-head-actions{width:100%;justify-content:space-between}.table-toolbar-form{width:100%;justify-content:space-between}}

.rows-per-page select{min-width:72px;width:72px;padding-right:24px}
.table-head-actions .count{white-space:nowrap}
.registos-context-form .field.medium select{min-width:220px}


/* Build 3.1.023 visual refinements */
.table-wrap{overflow-x:auto;overflow-y:hidden;}
.table-head-inline{align-items:center;}
.table-head-actions{display:flex;align-items:center;gap:18px;flex-wrap:nowrap;}
.table-toolbar-form{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;}
.rows-per-page{display:flex;align-items:center;gap:10px;color:#5f6f87;font-size:14px;font-weight:600;white-space:nowrap;}
.rows-per-page select{min-width:92px;width:92px;padding-right:28px;}
.registos-table{width:100%;table-layout:fixed;}
.registos-table th,.registos-table td{box-sizing:border-box;}
.registos-table tbody td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.registos-table thead th{overflow:visible;}
.registos-table th:nth-child(1),.registos-table td:nth-child(1){width:4%;}
.registos-table th:nth-child(2),.registos-table td:nth-child(2){width:9%;}
.registos-table th:nth-child(3),.registos-table td:nth-child(3){width:11%;}
.registos-table th:nth-child(4),.registos-table td:nth-child(4){width:4%;}
.registos-table th:nth-child(5),.registos-table td:nth-child(5){width:11%;}
.registos-table th:nth-child(6),.registos-table td:nth-child(6){width:11%;}
.registos-table th:nth-child(7),.registos-table td:nth-child(7){width:8%;}
.registos-table th:nth-child(8),.registos-table td:nth-child(8){width:15%;}
.registos-table th:nth-child(9),.registos-table td:nth-child(9){width:17%;}
.registos-table th:nth-child(10),.registos-table td:nth-child(10){width:10%;}
.header-filter-row th{padding:8px 10px 10px;vertical-align:bottom;}
.header-filter-row .col-label{display:block;font-size:12px;font-weight:700;color:#475467;margin-bottom:6px;white-space:nowrap;}
.header-filter-row input{width:100%;height:30px;padding:5px 10px;border:1px solid #d9dee8;border-radius:10px;font-size:13px;background:#fff;min-width:0;}
.header-filter-actions{display:flex;align-items:center;gap:8px;}
.header-filter-actions input{flex:1 1 auto;min-width:0;}
.header-filter-actions .btn-small{flex:0 0 auto;padding:7px 10px;min-height:30px;height:30px;font-size:13px;}
.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap;}
.pagination-actions{display:flex;gap:10px;align-items:center;}
@media (max-width: 1280px){
  .table-head-actions{flex-wrap:wrap;justify-content:flex-end;}
  .table-toolbar-form{flex-wrap:wrap;justify-content:flex-end;}
}
@media (max-width: 980px){
  .table-wrap{overflow-x:auto;}
  .registos-table{min-width:1180px;}
}


.registos-screen{display:flex;flex-direction:column;gap:0;min-height:calc(100vh - 140px);}
.registos-screen>.card:last-child{margin-bottom:0;}
.registos-grid-card{display:flex;flex-direction:column;min-height:calc(100vh - 320px);}
.registos-grid-card .card-head{flex:0 0 auto;}
.registos-grid-card .pagination-bar{flex:0 0 auto;margin-top:14px;}
.registos-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:16px;background:#fff;}
.registos-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;}
.registos-table thead .header-filter-row th{vertical-align:bottom;}
.registos-grid-form input[type=text]{autocomplete:off;}
.registos-grid-form input::-webkit-contacts-auto-fill-button,.registos-grid-form input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none !important;pointer-events:none;position:absolute;right:0;}
@media (max-width: 980px){.registos-grid-card{min-height:calc(100vh - 260px);} .registos-screen{min-height:auto;}}


body.registos-page{overflow:hidden;}
body.registos-page .shell{height:100vh;overflow:hidden;}
body.registos-page .sidebar{height:100vh;}
body.registos-page .main{height:100vh;overflow:hidden;display:flex;flex-direction:column;}
body.registos-page .flash-wrap{flex:0 0 auto;}
body.registos-page .registos-screen{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;}
body.registos-page .registos-grid-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-bottom:0;}
body.registos-page .registos-grid-card .card-head,
body.registos-page .registos-grid-card .flash,
body.registos-page .pagination-bar{flex:0 0 auto;}
body.registos-page .registos-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;}
body.registos-page .registos-table thead th{position:sticky;top:0;background:#fff;z-index:2;}
body.registos-page .registos-table thead tr.header-filter-row th{box-shadow:0 1px 0 var(--border);}
@media (max-width: 980px){body.registos-page{overflow:auto;}body.registos-page .shell,body.registos-page .main{height:auto;overflow:visible;}body.registos-page .registos-screen,body.registos-page .registos-grid-card{display:block;}body.registos-page .registos-table-wrap{max-height:none;overflow:auto;}}


/* Build 3.1.024 registos footer and funcionario display */
.sort-link{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:700;text-decoration:none;margin-bottom:6px}.sort-link:hover{color:var(--orange-dark)}.sort-link.active{color:var(--orange-dark)}.sort-indicator{font-size:11px;line-height:1}.header-filter-row th input{width:100%}

.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.pagination-info{font-weight:600;color:var(--muted);}


/* Build 3.1.025 date range filters on registos */
.date-range-filter {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.3rem;
}

.date-range-filter input[type='date'] {
  width: 100%;
  min-width: 8.5rem;
}


/* Build 3.1.026 pop-up filters for date columns */
.column-head-inline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;position:relative}
.date-filter-trigger{border:1px solid var(--border);background:#fff;border-radius:10px;min-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:1;transition:.15s ease}
.date-filter-trigger:hover{border-color:var(--orange);color:var(--orange-dark)}
.date-filter-trigger.active,.header-filter-row th.filter-active .date-filter-trigger{border-color:var(--orange);background:#fff6ef;color:var(--orange-dark);box-shadow:0 0 0 1px rgba(244,115,32,.12) inset}
.sort-link.filter-active,.header-filter-row th.filter-active>.column-head-inline .sort-link{color:var(--orange-dark)}
.date-filter-popover{position:absolute;top:42px;right:10px;width:210px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px rgba(16,24,40,.14);padding:12px;z-index:20;display:flex;flex-direction:column;gap:10px}
.date-filter-popover[hidden]{display:none}
.date-filter-title{font-size:13px;font-weight:700;color:var(--text)}
.date-filter-popover label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#5f6f87}
.date-filter-popover input[type=date]{width:100%;height:34px;padding:6px 10px;border:1px solid #d9dee8;border-radius:10px;font-size:13px;background:#fff}
.date-filter-actions{display:flex;justify-content:flex-end;gap:8px}

/* Build 3.6.002 maintenance actions */
.inline-form { display: inline; margin: 0; }
.actions-cell { white-space: nowrap; }
.actions-cell .table-link,
.actions-cell .inline-form { margin-right: 10px; }
.danger-link { color: #b54708; background: none; border: 0; padding: 0; cursor: pointer; font: inherit; }
.danger-link:hover { text-decoration: underline; }


/* Build 3.6.002 grid alignment */
.tighter-table thead th,.tighter-table tbody td{vertical-align:middle;}
.status-cell{vertical-align:middle;white-space:nowrap;}
.actions-cell{vertical-align:middle;}
.row-actions{display:flex;align-items:center;gap:12px;min-height:20px;white-space:nowrap;flex-wrap:nowrap;}
.row-actions .inline-form{margin:0;}
.row-actions .table-link,.row-actions .danger-link{display:inline-flex;align-items:center;line-height:1;font-size:13px;}
.row-actions .muted-text{display:inline-flex;align-items:center;min-height:20px;}

.nav-group{margin-bottom:6px}
.nav-group-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#000000;opacity:1;margin:0 0 2px 10px}
.nav-grouped .nav-link{display:block}
.permissions-table th,.permissions-table td{text-align:center}
.permissions-table th:nth-child(1),.permissions-table td:nth-child(1),
.permissions-table th:nth-child(2),.permissions-table td:nth-child(2){text-align:left}


/* Build 3.7.006 funcionários filters and compact refeitórios */
.column-filter-row th{padding:6px 12px;background:#fbfcfe;vertical-align:middle;}
.column-filter-row input,.column-filter-row select{width:100%;height:32px;padding:6px 10px;border:1px solid #d9dee8;border-radius:10px;font-size:13px;background:#fff;min-width:0;}
.column-filter-row select{padding-right:28px;}
.filter-submit-cell{white-space:nowrap;}
.table-filter-btn{min-width:88px;height:32px;padding:0 12px;}
.table-wrap .tighter-table .badge.neutral,.table-wrap .tighter-table .badge.success,.table-wrap .tighter-table .badge.muted{padding:3px 8px;font-size:11px;line-height:1;}
.auth-form.loading-form .auth-submit[disabled]{opacity:.8;cursor:wait;}


/* Build 3.7.006 funcionarios grid refinements */
.funcionarios-table{table-layout:fixed;width:100%;}
.funcionarios-table th,.funcionarios-table td{box-sizing:border-box;vertical-align:middle;}
.funcionarios-table th:nth-child(1),.funcionarios-table td:nth-child(1){width:90px;}
.funcionarios-table th:nth-child(2),.funcionarios-table td:nth-child(2){width:26%;}
.funcionarios-table th:nth-child(3),.funcionarios-table td:nth-child(3){width:30%;}
.funcionarios-table th:nth-child(4),.funcionarios-table td:nth-child(4){width:110px;}
.funcionarios-table th:nth-child(5),.funcionarios-table td:nth-child(5){width:130px;}
.funcionarios-table tbody td:nth-child(1),.funcionarios-table tbody td:nth-child(4),.funcionarios-table tbody td:nth-child(5){white-space:nowrap;}
.funcionarios-table .column-filter-row th{padding-top:6px;padding-bottom:6px;}
.funcionarios-table .column-filter-row input,.funcionarios-table .column-filter-row select{height:30px;padding:5px 9px;}


/* Build 3.7.009 cartões filters and widths */
.cartoes-table{table-layout:fixed;width:100%;}
.cartoes-table th,.cartoes-table td{box-sizing:border-box;vertical-align:middle;}
.cartoes-table th:nth-child(1),.cartoes-table td:nth-child(1){width:14%;}
.cartoes-table th:nth-child(2),.cartoes-table td:nth-child(2){width:29%;}
.cartoes-table th:nth-child(3),.cartoes-table td:nth-child(3){width:24%;}
.cartoes-table th:nth-child(4),.cartoes-table td:nth-child(4){width:6%;}
.cartoes-table th:nth-child(5),.cartoes-table td:nth-child(5){width:12%;}
.cartoes-table th:nth-child(6),.cartoes-table td:nth-child(6){width:10%;}
.cartoes-table th:nth-child(7),.cartoes-table td:nth-child(7){width:10%;}
.cartoes-table tbody td:nth-child(1),.cartoes-table tbody td:nth-child(4),.cartoes-table tbody td:nth-child(5),.cartoes-table tbody td:nth-child(6),.cartoes-table tbody td:nth-child(7){white-space:nowrap;}
.cartoes-table .column-filter-row th:nth-child(5){position:relative;}
.cartoes-table .column-head-inline{display:flex;align-items:center;justify-content:flex-start;}
.cartoes-table .date-filter-trigger{margin-left:0;}


/* Build 3.7.010 centros de custo filters */
.centros-table{table-layout:fixed;width:100%;}
.centros-table th,.centros-table td{box-sizing:border-box;vertical-align:middle;}
.centros-table th:nth-child(1),.centros-table td:nth-child(1){width:16%;}
.centros-table th:nth-child(2),.centros-table td:nth-child(2){width:54%;}
.centros-table th:nth-child(3),.centros-table td:nth-child(3){width:12%;}
.centros-table th:nth-child(4),.centros-table td:nth-child(4){width:18%;}
.centros-table tbody td:nth-child(1),.centros-table tbody td:nth-child(3),.centros-table tbody td:nth-child(4){white-space:nowrap;}
.centros-table .column-filter-row input,.centros-table .column-filter-row select{height:30px;padding:5px 9px;}


.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px;padding:12px;border:1px solid #d9e2ec;border-radius:12px;background:#fff;max-height:220px;overflow:auto}
.disabled-link{pointer-events:none;opacity:.5}



.toolbar-standard{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.toolbar-standard-left,.toolbar-standard-right{display:flex;align-items:flex-end;gap:var(--toolbar-gap);flex-wrap:wrap}
.toolbar-standard .field{min-width:0}
.toolbar-standard .field label,.entity-toolbar-site .field label{display:block;margin-bottom:6px;font-size:13px;color:var(--muted);font-weight:700}
.toolbar-standard select,.toolbar-standard input[type=text],.entity-toolbar-site select,.entity-toolbar-site input[type=text],.table-toolbar-form select{height:var(--toolbar-height);min-height:var(--toolbar-height);padding:0 14px;border-radius:14px}
.toolbar-standard .btn,.toolbar-standard .icon-file-btn,.table-head-actions .icon-file-btn,.table-head-actions .btn,.table-toolbar-form select,.rows-per-page select{height:var(--toolbar-height);min-height:var(--toolbar-height)}
.entity-toolbar-form{display:grid;gap:16px}
.entity-toolbar-site{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.entity-toolbar-site .field{min-width:260px;max-width:420px;flex:1 1 320px}
.entity-toolbar-main{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.entity-toolbar-main .toolbar-standard-left,.entity-toolbar-main .toolbar-standard-right{display:flex;align-items:flex-end;gap:var(--toolbar-gap);flex-wrap:wrap}
.entity-toolbar-main .field.wide{min-width:320px;flex:1 1 360px}
.entity-toolbar-main .field.small{min-width:120px;max-width:140px}
.entity-toolbar-main .icon-file-btn{align-self:flex-end}
.entity-toolbar-main .toolbar-standard-right{justify-content:flex-end;flex:1 1 520px}
.toolbar-control{display:grid;gap:6px}
.toolbar-control label{font-size:13px;color:var(--muted);font-weight:700}
@media (max-width: 980px){.entity-toolbar-main,.toolbar-standard{flex-direction:column;align-items:stretch}.entity-toolbar-main .toolbar-standard-left,.entity-toolbar-main .toolbar-standard-right,.toolbar-standard-left,.toolbar-standard-right{width:100%;justify-content:flex-start}.entity-toolbar-main .field.wide,.entity-toolbar-main .field.small,.entity-toolbar-site .field{max-width:none;min-width:0;width:100%}}

/* Build 4.1.001 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.icon-file-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--toolbar-height);height:var(--toolbar-height);border:1px solid #d0d7e2;border-radius:14px;background:#fff;text-decoration:none;box-shadow:0 2px 8px rgba(15,23,42,.06);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;align-self:center;vertical-align:middle;padding:0}
.icon-file-btn::before{content:'';position:absolute;top:5px;left:8px;width:20px;height:24px;border:1.6px solid currentColor;border-radius:4px;background:#fff}
.icon-file-btn::after{content:'';position:absolute;top:5px;right:7px;width:7px;height:7px;background:#fff;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:skew(-12deg,-12deg)}
.icon-file-btn .file-mark{position:relative;z-index:1;font-size:10px;font-weight:800;letter-spacing:.4px;margin:10px 0 0;line-height:1}
.icon-file-btn.excel{color:#1f7a3f}.icon-file-btn.pdf{color:#c83532}
.icon-file-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.12)}
.icon-file-btn.disabled-link{pointer-events:none;opacity:.45}
.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.dashboard-kpi-card.kpi-compact{grid-column:span 2}.dashboard-kpi-card.kpi-wide{grid-column:span 3}.dashboard-kpi-card.kpi-standard{grid-column:span 2}
.dashboard-kpi-split.three{gap:18px}.dashboard-kpi-split.three strong{font-size:20px}.dashboard-kpi-split.three span{font-size:12px}
@media (max-width:1380px){.dashboard-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-kpi-card.kpi-compact,.dashboard-kpi-card.kpi-wide,.dashboard-kpi-card.kpi-standard{grid-column:span 3}}
@media (max-width:820px){.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-kpi-card.kpi-compact,.dashboard-kpi-card.kpi-wide,.dashboard-kpi-card.kpi-standard{grid-column:span 1}}
.cartoes-table{table-layout:fixed}.cartoes-table th,.cartoes-table td,.funcionarios-table th,.funcionarios-table td{box-sizing:border-box}.cartoes-table th:nth-child(1),.cartoes-table td:nth-child(1){width:10%}.cartoes-table th:nth-child(2),.cartoes-table td:nth-child(2){width:16%}.cartoes-table th:nth-child(3),.cartoes-table td:nth-child(3){width:10%}.cartoes-table th:nth-child(4),.cartoes-table td:nth-child(4){width:18%}.cartoes-table th:nth-child(5),.cartoes-table td:nth-child(5){width:14%}.cartoes-table th:nth-child(6),.cartoes-table td:nth-child(6){width:8%}.cartoes-table th:nth-child(7),.cartoes-table td:nth-child(7){width:11%}.cartoes-table th:nth-child(8),.cartoes-table td:nth-child(8){width:7%}.cartoes-table th:nth-child(9),.cartoes-table td:nth-child(9){width:110px}.actions-col{min-width:100px}.actions-cell,.status-cell{white-space:nowrap}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.row-actions form{margin:0}.funcionarios-table{table-layout:fixed}.funcionarios-table th:nth-child(1),.funcionarios-table td:nth-child(1){width:12%}.funcionarios-table th:nth-child(2),.funcionarios-table td:nth-child(2){width:16%}.funcionarios-table th:nth-child(3),.funcionarios-table td:nth-child(3){width:12%}.funcionarios-table th:nth-child(4),.funcionarios-table td:nth-child(4){width:26%}.funcionarios-table th:nth-child(5),.funcionarios-table td:nth-child(5){width:18%}.funcionarios-table th:nth-child(6),.funcionarios-table td:nth-child(6){width:8%}.funcionarios-table th:nth-child(7),.funcionarios-table td:nth-child(7){width:110px}.funcionarios-table .sort-link{margin-bottom:0}.column-filter-row select{width:100%;padding:7px 10px;border:1px solid #d9dee8;border-radius:10px;font-size:13px;background:#fff;min-width:0}.table-head-actions .inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}


/* Build 4.1.002 */
.table-head-actions .inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.registos-grid-card .table-head-actions .inline-actions{min-height:42px}
.cartoes-table th:nth-child(1),.cartoes-table td:nth-child(1){width:10%}
.cartoes-table th:nth-child(2),.cartoes-table td:nth-child(2){width:15%}
.cartoes-table th:nth-child(3),.cartoes-table td:nth-child(3){width:10%}
.cartoes-table th:nth-child(4),.cartoes-table td:nth-child(4){width:18%}
.cartoes-table th:nth-child(5),.cartoes-table td:nth-child(5){width:14%}
.cartoes-table th:nth-child(6),.cartoes-table td:nth-child(6){width:8%}
.cartoes-table th:nth-child(7),.cartoes-table td:nth-child(7){width:12%}
.cartoes-table th:nth-child(8),.cartoes-table td:nth-child(8){width:7%}
.cartoes-table th:nth-child(9),.cartoes-table td:nth-child(9){width:110px}
.cartoes-table .column-filter-row th:nth-child(7){position:relative}


/* Build 4.1.005 registos export icon alignment */
.registos-grid-card .table-head-actions{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
}
.registos-grid-card .table-head-actions .table-toolbar-form{
  display:flex;
  align-items:center;
  margin:0;
}
.registos-grid-card .table-head-actions .inline-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:nowrap;
  min-height:auto;
  margin:0;
  padding:0;
  position:static;
  top:auto;
  transform:none;
}
.registos-grid-card .table-head-actions .icon-file-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  margin:0;
  vertical-align:middle;
}


/* Build 4.1.006 toolbar standardization */
.entity-toolbar-main .btn,.entity-toolbar-main .icon-file-btn,.entity-toolbar-main select{height:var(--toolbar-height);min-height:var(--toolbar-height)}
.table-head-actions .inline-actions,.entity-toolbar-main .toolbar-standard-left,.entity-toolbar-main .toolbar-standard-right{min-height:var(--toolbar-height)}


/* Build 4.1.008 effective fixes */
select{padding-right:40px;line-height:normal;box-sizing:border-box;background-clip:padding-box;}
select option{margin:0;padding:0;}
.toolbar-standard select,.entity-toolbar-site select,.entity-toolbar-main select,.table-toolbar-form select,.column-filter-row select,.filters-inline select{padding-right:40px;}
.unidades-estado-card{grid-column:span 2;}
@media (max-width:1400px){.unidades-estado-card{grid-column:span 2;}}
@media (max-width:980px){.unidades-estado-card{grid-column:span 1;}}

/* Build 4.1.009 select vertical text alignment */
.toolbar-standard select,.entity-toolbar-site select,.entity-toolbar-main select,.table-toolbar-form select,.rows-per-page select,.filters-inline select{padding-top:0;padding-bottom:2px;line-height:1.1;}


/* Build 4.1.010 cartões filter and widths */
.entity-toolbar-main .field.wide.refeitorio-wide{min-width:420px;flex:1 1 520px;max-width:1080px;}
.cartoes-table th:nth-child(1),.cartoes-table td:nth-child(1){width:9%;}
.cartoes-table th:nth-child(2),.cartoes-table td:nth-child(2){width:15%;}
.cartoes-table th:nth-child(3),.cartoes-table td:nth-child(3){width:11%;}
.cartoes-table th:nth-child(4),.cartoes-table td:nth-child(4){width:19%;}
.cartoes-table th:nth-child(5),.cartoes-table td:nth-child(5){width:15%;}
.cartoes-table th:nth-child(6),.cartoes-table td:nth-child(6){width:6%;}
.cartoes-table th:nth-child(7),.cartoes-table td:nth-child(7){width:9%;}
.cartoes-table th:nth-child(8),.cartoes-table td:nth-child(8){width:6%;}
.cartoes-table th:nth-child(9),.cartoes-table td:nth-child(9){width:120px;}
.cartoes-table tbody td:nth-child(2),.cartoes-table tbody td:nth-child(3),.cartoes-table tbody td:nth-child(6),.cartoes-table tbody td:nth-child(8){white-space:nowrap;}
.cartoes-table tbody td:nth-child(4),.cartoes-table tbody td:nth-child(5){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


/* Build 4.1.011 cartoes grid filter alignment */
.cartoes-table .column-filter-row th:nth-child(2){padding-left:0;}
.cartoes-table .column-filter-row th:nth-child(2) select{margin-left:0;display:block;width:100%;}


/* Build 4.1.012 cartoes filter cleanup */
.cartoes-table .column-filter-row th:nth-child(2){padding-left:0 !important;padding-right:0 !important;}
.cartoes-table .column-filter-row th:nth-child(2) select{margin:0 !important;display:block;width:100%;max-width:none;}
.cartoes-table .filter-submit-cell.hidden-filter-submit{padding:0 !important;}
.cartoes-table .visually-hidden-submit{display:none !important;}


/* Build 4.1.013 cartões active filter alignment */
.cartoes-table th:nth-child(8),.cartoes-table td:nth-child(8){width:96px;}
.cartoes-table th:nth-child(9),.cartoes-table td:nth-child(9){width:92px;}
.cartoes-table .column-filter-row th:nth-child(8){padding-left:4px !important;padding-right:4px !important;}
.cartoes-table .column-filter-row th:nth-child(8) select{display:block;width:100%;min-width:96px;margin:0;}
.cartoes-table .column-filter-row th:nth-child(9){padding-left:0 !important;padding-right:0 !important;}
.cartoes-table .column-filter-row th:nth-child(9) .visually-hidden-submit{display:none !important;}


.centros-refeitorio-field{min-width:420px;flex:1 1 520px;max-width:980px;}
.centros-table{table-layout:fixed;width:100%;}
.centros-table th,.centros-table td{box-sizing:border-box;vertical-align:middle;}
.centros-table th:nth-child(1),.centros-table td:nth-child(1){width:12%;}
.centros-table th:nth-child(2),.centros-table td:nth-child(2){width:22%;}
.centros-table th:nth-child(3),.centros-table td:nth-child(3){width:16%;}
.centros-table th:nth-child(4),.centros-table td:nth-child(4){width:30%;}
.centros-table th:nth-child(5),.centros-table td:nth-child(5){width:8%;}
.centros-table th:nth-child(6),.centros-table td:nth-child(6){width:12%;}
.centros-table tbody td:nth-child(1),.centros-table tbody td:nth-child(3),.centros-table tbody td:nth-child(5){white-space:nowrap;}
.centros-table tbody td:nth-child(4){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.centros-table .column-filter-row th:nth-child(6){padding:0 !important;}
.centros-table .visually-hidden-submit{display:none !important;}
.centros-table .filter-submit-cell.hidden-filter-submit{padding:0 !important;}
.centros-table .column-filter-row th:nth-child(5){padding-left:4px !important;padding-right:4px !important;}
.centros-table .column-filter-row th:nth-child(5) select{display:block;width:100%;min-width:92px;margin:0;}


/* Build 4.1.015 centros de custo sorting/filter tuning */
.centros-table th:nth-child(1),.centros-table td:nth-child(1){width:10%;}
.centros-table th:nth-child(2),.centros-table td:nth-child(2){width:24%;}
.centros-table th:nth-child(3),.centros-table td:nth-child(3){width:16%;}
.centros-table th:nth-child(4),.centros-table td:nth-child(4){width:30%;}
.centros-table th:nth-child(5),.centros-table td:nth-child(5){width:8%;}
.centros-table th:nth-child(6),.centros-table td:nth-child(6){width:12%;}
.centros-table .sort-link{margin-bottom:0;}
.centros-table .column-filter-row th:nth-child(2){padding-left:0 !important;padding-right:8px !important;}
.centros-table .column-filter-row th:nth-child(2) select{display:block;width:100%;min-width:150px;margin:0;}
.centros-table .column-filter-row th:nth-child(5){padding-left:4px !important;padding-right:4px !important;}
.centros-table .column-filter-row th:nth-child(5) select{display:block;width:100%;min-width:92px;margin:0;}


/* Build 4.1.017 settings KPI card balancing */
.settings-kpi-grid-two{grid-template-columns:repeat(2,minmax(320px,1fr));gap:16px;align-items:stretch;max-width:980px}
.settings-kpi-grid-two .settings-kpi-card{grid-column:span 1 !important;min-height:118px;padding:12px 18px 14px}
.settings-kpi-grid-two .dashboard-kpi-title{margin-bottom:12px}
.settings-kpi-grid-two .dashboard-kpi-split.two{gap:16px}
.users-kpi-grid{max-width:1040px}
.users-kpi-grid .users-kpi-card{min-height:124px;padding:14px 20px 16px}
@media (max-width:980px){.settings-kpi-grid-two{grid-template-columns:1fr;max-width:none}}


.report-filters { display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
.report-actions { display:flex; gap:8px; align-items:end; flex-wrap:wrap; }
.icon-btn{min-width:46px;width:46px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.icon-btn svg{width:18px;height:18px}
.cards-grid-3 { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; margin:16px 0; }
.cards-grid-4 { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; margin:16px 0; }
.summary-grid-3 { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; margin-top:16px; }
.stat-card { background:#fff; border:1px solid #d9e1ea; border-radius:14px; padding:18px; box-shadow:0 8px 18px rgba(15,23,42,.04); }
.stat-card .label { display:block; font-size:12px; color:#6b7280; margin-bottom:10px; }
.stat-card strong { font-size:28px; color:#0f172a; }
.panel-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.table-wrap.compact { max-height: 360px; overflow:auto; }
.pagination-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; flex-wrap:wrap; }
.pagination-actions { display:flex; gap:8px; }
.data-grid .empty { text-align:center; color:#6b7280; }
.btn.disabled { pointer-events:none; opacity:.45; }
@media (max-width: 1200px){ .report-filters, .cards-grid-3, .cards-grid-4, .summary-grid-3 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 780px){ .report-filters, .cards-grid-3, .cards-grid-4, .summary-grid-3 { grid-template-columns: 1fr; } }


/* Build 4.2.006 - Relatório de Consumos UX refinement */
.report-filter-panel{padding:18px 18px 16px;background:linear-gradient(180deg,#ffffff 0%,#fcfcfd 100%)}
.report-filters-clean{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 12px;align-items:end}
.report-filters-clean input[type=text],.report-filters-clean select{min-width:0;width:100%;height:44px;padding:10px 14px;border-radius:14px;background:#fff}
.report-actions-bar{grid-column:5;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:10px;min-width:280px}
.report-actions-main,.report-actions-icons{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.report-actions-icons{justify-content:flex-end;min-height:40px}
.report-actions-icons .icon-file-btn,.report-actions-icons .icon-btn{align-self:center}
.report-actions-icons .icon-btn{min-width:40px;width:40px;height:40px;border-radius:12px;padding:0}
.report-actions-icons .icon-btn svg{width:16px;height:16px}
.report-actions-main .btn{min-width:104px}
.report-actions-main,.report-actions-icons{width:100%;justify-content:flex-end}
.report-kpi-panel{padding:12px 14px;background:#fbfcfd}
.report-kpi-grid{gap:12px;margin:0}
.report-kpi-card{padding:14px 18px;min-height:88px;display:grid;align-content:center}
.report-kpi-card .label{margin-bottom:8px;font-size:12px;color:#6b7280}
.report-kpi-card strong{font-size:30px;line-height:1}
.report-main-panel{padding:18px 18px 14px;border:1px solid #dde4ec;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.report-main-header{margin-bottom:14px}
.report-main-header h2{font-size:18px}
.report-main-header span{font-size:14px;color:#475467}
.report-table-wrap{background:#fff;border:1px solid #e7ecf2;border-radius:14px}
.report-detail-grid thead th{background:#fafbfc;font-size:12px;padding:11px 12px;color:#4b5563}
.report-detail-grid tbody td{padding:8px 12px;font-size:13px;line-height:1.15}
.report-detail-grid tbody tr:last-child td{border-bottom:none}
.report-pagination{margin-top:12px;color:#475467;font-size:14px}
.report-summary-panel{padding:18px 18px 14px;background:#fcfcfd}
.report-summary-header{margin-bottom:12px}
.report-summary-header h2{font-size:18px}
.report-summary-grid{gap:12px;margin-top:0}
.report-summary-card{background:#fff;border:1px solid #e7ecf2;border-radius:14px;padding:14px 14px 10px}
.report-summary-card h3{margin:0 0 10px;font-size:15px;color:#334155}
.report-summary-card .table-wrap.compact{max-height:none}
.report-summary-card thead th{padding:10px 10px 9px;font-size:12px}
.report-summary-card tbody td{padding:10px;font-size:13px}
@media (max-width:1200px){
  .report-filters-clean{grid-template-columns:repeat(3,minmax(0,1fr))}
  .report-actions-bar{grid-column:1 / -1;align-items:stretch;min-width:0}
  .report-actions-main,.report-actions-icons{justify-content:flex-start}
}
@media (max-width:780px){
  .report-filters-clean{grid-template-columns:1fr}
  .report-actions-bar{grid-column:1;align-items:stretch;min-width:0}
  .report-kpi-grid,.report-summary-grid{grid-template-columns:1fr}
}

/* Build 4.2.008 - Relatório de Consumos collapsible sections */
.collapsible-section{border:1px solid #e7ecf2;border-radius:14px;background:#fff}
.collapsible-section[open]{box-shadow:0 6px 16px rgba(15,23,42,.04)}
.collapsible-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:14px 16px;font-weight:600;color:#1f2937}
.collapsible-summary::-webkit-details-marker{display:none}
.collapsible-summary::before{content:'▸';display:inline-block;margin-right:10px;color:#64748b;transition:transform .18s ease}
.collapsible-section[open]>.collapsible-summary::before{transform:rotate(90deg)}
.collapsible-title{display:inline-flex;align-items:center;font-size:16px;line-height:1.1}
.collapsible-meta{margin-left:auto;font-size:14px;font-weight:500;color:#475467}
.collapsible-body{padding:0 0 12px}
.report-main-panel,.report-summary-panel{background:#fcfcfd}
.report-main-panel .collapsible-section{border:none;background:transparent;box-shadow:none}
.report-main-panel .collapsible-summary{padding:0 0 14px}
.report-main-panel .collapsible-body{padding:0}
.report-summary-card.collapsible-section{padding:0;overflow:hidden}
.report-summary-card .collapsible-summary{padding:14px 14px 12px;font-size:15px}
.report-summary-card .collapsible-title{font-size:15px;color:#334155}
.report-summary-card .collapsible-body{padding:0 14px 12px}

/* Report v2 */
.report-switcher-panel{padding:18px 20px}
.report-switcher-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.report-switcher-group{border:1px solid #d8dee8;border-radius:18px;padding:14px 16px;background:#fafbfc}
.report-switcher-group.active{border-color:#f26422;background:#fff7f3;box-shadow:0 2px 10px rgba(242,100,34,.08)}
.report-switcher-title{font-size:13px;font-weight:800;color:#1f2937;margin-bottom:10px;text-transform:none}
.report-switcher-types{display:flex;flex-wrap:wrap;gap:10px}
.report-chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #d8dee8;border-radius:999px;background:#fff;color:#1f2937;text-decoration:none;font-weight:600;font-size:14px;transition:.15s ease}
.report-chip:hover{border-color:#f26422;color:#f26422}
.report-chip.active{background:#f26422;color:#fff;border-color:#f26422;box-shadow:0 4px 12px rgba(242,100,34,.18)}
.report-kpi-grid.dynamic-cards-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.report-kpi-grid.dynamic-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.report-kpi-grid.dynamic-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-kpi-grid.dynamic-cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.report-kpi-card{min-height:90px}
.report-main-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px}
.panel-header-meta{font-size:14px;color:#374151}
.report-main-panel{padding-top:16px}
.report-detail-grid th,.report-detail-grid td{padding-top:10px;padding-bottom:10px}
@media (max-width: 1100px){.report-switcher-groups{grid-template-columns:1fr}.report-kpi-grid.dynamic-cards-4,.report-kpi-grid.dynamic-cards-3,.report-kpi-grid.dynamic-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Build 4.3.004 - filtro de datas corrigido nos relatórios */
.date-field{position:relative;display:flex;align-items:center}
.date-field .date-display{padding-right:46px}
.date-native-picker{position:absolute;inset:0 auto 0 0;width:1px;height:1px;opacity:0;pointer-events:none}
.date-picker-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#111827;cursor:pointer;border-radius:8px}
.date-picker-btn:hover{background:#f3f4f6}
.date-picker-btn svg{width:16px;height:16px}
.report-actions-bar{grid-column:5;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:end;align-items:end;gap:10px;min-width:300px}
.report-actions-main,.report-actions-icons{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;justify-content:end;gap:8px;min-height:40px;width:100%}
.report-actions-main .btn{min-width:112px}
.report-actions-icons .icon-file-btn,.report-actions-icons .icon-btn{justify-self:start}
.report-actions-icons{justify-content:end}
@media (max-width:1200px){
  .report-actions-bar{grid-column:1 / -1;justify-items:start;min-width:0}
  .report-actions-main,.report-actions-icons{justify-content:start}
}

/* Build 4.3.005 menu redesign */
.nav-redesign{display:flex;flex-direction:column;gap:10px}
.nav-group-panel{background:transparent;border:0;padding:0;margin:0}
.nav-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;padding:6px 10px 7px;border-radius:12px;cursor:pointer;text-align:left}
.nav-group-toggle:hover{background:#f8fafc}
.nav-redesign .nav-group-title{margin:0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#111827}
.nav-group-chevron{width:8px;height:8px;border-right:2px solid #f15a24;border-bottom:2px solid #f15a24;transform:rotate(45deg);transition:transform .18s ease,opacity .18s ease;opacity:.8;flex:0 0 auto;margin-right:4px}
.nav-group-panel.is-collapsed .nav-group-chevron{transform:rotate(-45deg) translate(1px,-1px)}
.nav-group-items{display:grid;gap:4px;padding:2px 0 2px 12px}
.nav-redesign .nav-link{position:relative;display:flex;align-items:center;min-height:38px;padding:8px 14px 8px 16px;border-radius:14px;font-size:14px;font-weight:400;color:#1f2937;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-redesign .nav-link:hover{background:#fff3ee;color:#d94d1a;transform:translateX(1px)}
.nav-redesign .nav-link.active{background:linear-gradient(90deg,#fff1eb 0%,#fff8f4 100%);color:#d94d1a;font-weight:600;border-left:none;padding-left:20px;box-shadow:inset 3px 0 0 #f15a24}
.nav-redesign .nav-link.active::before{content:"";position:absolute;left:8px;top:50%;width:6px;height:6px;border-radius:999px;background:#f15a24;transform:translateY(-50%)}
.nav-group-panel.is-collapsed .nav-group-items{display:none}
.nav-group-panel.has-active .nav-group-toggle{background:#fffaf7}
@media (max-width:980px){.nav-group-items{padding-left:8px}.nav-redesign .nav-link{min-height:36px}}
