/* ELI Lisboa Norte | visual refresh, presentation only */
:root{
  --bg:#f5f8f6;--panel:#ffffff;--ink:#233a32;--muted:#637a70;
  --line:#dfe9e2;--primary:#26745b;--primary2:#19563f;
  --soft:#eaf5ee;--snipi-green:#26745b;--snipi-green-dark:#204f3c;
  --snipi-line:#e0e9e2;
}
html,body{background:#f5f8f6!important;color:#233a32}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:14px;line-height:1.55}
.shell{background:#f5f8f6!important}
.main{padding:clamp(18px,2.4vw,35px)!important;min-width:0!important;background:transparent!important}
.sidebar{
  background:linear-gradient(170deg,#174b3d 0%,#1d5b47 72%,#246a52 100%)!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
  box-shadow:6px 0 28px rgba(25,67,47,.07)!important;
}
.sidebar .eli-sidebar-brand{
  background:#fff!important;color:#1c604b!important;border:1px solid rgba(255,255,255,.6)!important;
  border-radius:17px!important;padding:20px 12px!important;
  box-shadow:0 12px 30px rgba(5,41,29,.12)!important;
}
.sidebar .nav{gap:6px!important}
.sidebar .nav button,.sidebar button[data-route]{
  border-radius:11px!important;min-height:44px!important;
  padding:11px 13px!important;font-size:13px!important;font-weight:650!important;
  letter-spacing:.01em!important;transition:background .18s ease,transform .18s ease,color .18s ease!important;
}
.sidebar .nav button:hover,.sidebar button[data-route]:hover{transform:translateX(2px);background:rgba(255,255,255,.12)!important}
.sidebar .nav button.active,.sidebar button[data-route].active{
  background:#f3f8ea!important;color:#1d5a45!important;box-shadow:0 4px 13px rgba(6,40,26,.09)!important;
  border-left-color:#9bba6a!important;
}
.sidebar .who{border-top:1px solid rgba(255,255,255,.18)!important;padding-top:15px!important}
.head{gap:12px!important;align-items:center!important}
.head h1,.reports-page-head h1{color:#1e4a38!important;font-size:clamp(22px,2.1vw,29px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.2!important}
.head p,.reports-page-head p{color:#718279!important}
.card,.auth-box,.photo-panel{
  background:#fff!important;border:1px solid #e2eae4!important;border-radius:18px!important;
  box-shadow:0 5px 20px rgba(34,75,48,.055)!important;
}
.card.section{margin-top:16px}
.card h2,.section h2{color:#295d44!important;font-weight:780!important;letter-spacing:-.015em!important}
.btn{
  border-radius:10px!important;min-height:37px;
  font-weight:700!important;transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important
}
.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,77,49,.12)!important}
.btn:not(.ghost):not(.danger):not(.secondary){background:#287456!important;color:#fff!important}
.btn:not(.ghost):not(.danger):not(.secondary):hover{background:#1c6348!important}
.btn.ghost{background:#fff!important;color:#35634d!important;border:1px solid #d9e6dc!important}
.btn.ghost:hover{background:#f1f7f2!important}
input:not([type=checkbox]):not([type=radio]),select,textarea{
  border-radius:11px!important;border:1px solid #d7e3db!important;
  background:#fff!important;color:#223a30!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{
  outline:2px solid #83b99c!important;outline-offset:2px!important
}
input:focus,select:focus,textarea:focus{border-color:#74ac8d!important;box-shadow:0 0 0 3px rgba(71,146,100,.1)!important}
label{color:#425d4b!important;font-weight:700!important}
.table-wrap{border-radius:12px!important}
.table{border-collapse:separate!important;border-spacing:0!important}
.table thead th,.table th{
  background:#f3f7f3!important;color:#516c5b!important;
  font-size:11.5px!important;font-weight:750!important;
  letter-spacing:.015em!important;border-bottom:1px solid #dce7de!important
}
.table tbody td{border-bottom:1px solid #edf2ee!important;color:#31483a}
.table tbody tr:hover td{background:#f7fbf8!important}
.table tbody tr:last-child td{border-bottom:0!important}
.table td,.table th{padding:11px 12px!important}
.process-sort-btn{font-weight:750!important}
.process-filterbar{border-radius:16px!important;background:#fff!important;border:1px solid #e0eae2!important}
.process-filter-main{gap:8px!important}
.process-filter-select,.process-filter-date,.process-filter-search{background:#fbfdfb!important}
.cfg-card{
  border:1px solid #e0eae2!important;background:linear-gradient(145deg,#fff,#f9fcfa)!important;
  border-radius:17px!important;box-shadow:0 4px 16px rgba(22,74,43,.035)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important
}
.cfg-card:hover{transform:translateY(-3px)!important;border-color:#b6d3be!important;box-shadow:0 10px 26px rgba(25,91,49,.1)!important}
.cfg-icon{border-radius:13px!important}
.reports-grid{gap:16px!important}
.report-card{overflow:hidden!important}
.report-card h2{color:#315c41!important;font-size:13.5px!important}
.reports-chip{background:#eaf4eb!important;color:#285a3e!important;border-color:#d0e3d3!important}
.reports-toolbar select{background:#fff!important}
.report-chart-wrap{overflow:auto}
.notice{border-radius:12px!important}
.auth{background:radial-gradient(circle at 15% 12%,#e1f0e3,transparent 36%),linear-gradient(135deg,#f6faf5,#eef5f1)!important}
.auth-box{border-radius:22px!important;box-shadow:0 22px 65px rgba(23,75,46,.11)!important}
.eli-edit-panel{border-radius:20px!important;border:1px solid #e2eae4!important}
@media(max-width:800px){
 .main{padding:16px!important}
 .card{border-radius:14px!important}
 .head h1{font-size:22px!important}
 .table td,.table th{padding:9px!important}
}
@media(prefers-reduced-motion:reduce){
 .btn,.cfg-card,.sidebar .nav button{transition:none!important;transform:none!important}
}
