/* Identidade VMG: azul-marinho, laranja e cinza. */
:root{--page:#f2f4f8;--surface:#fff;--text:#152440;--muted:#64718a;--line:#dce2ec;--accent:#123e82;--soft:#eaf0fa;--orange:#c45b10;--orange-soft:#fff1e5}
:root[data-theme="dark"]{--page:#080e1c;--surface:#131e30;--text:#eef2fa;--muted:#a0aec4;--line:#29354a;--accent:#83b5ff;--soft:#1b2e4a;--orange:#ff9a4d;--orange-soft:#34271f}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.workspace{margin:0;min-height:100vh;display:flex;flex-direction:column}
.portal-header{height:auto;min-height:82px;padding:13px max(28px,calc((100vw - 1320px)/2));display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:var(--surface)}
.portal-brand{display:flex;align-items:center;gap:14px;color:var(--text);text-decoration:none;flex-shrink:0}
.portal-brand img{width:91px;height:50px;object-fit:contain;background:white;border-radius:7px}
.portal-brand h1{font-size:19px;letter-spacing:-.6px;line-height:1.3;font-weight:800}
.portal-brand p{font-size:11px;margin:3px 0 0;line-height:1.4;color:var(--muted)}
.portal-header .search{margin:0 auto;min-width:180px;max-width:360px;width:100%;padding:9px 13px;background:var(--page);gap:10px}
.portal-header .search span{font-size:21px;line-height:1}
.portal-header .search input{font-size:12px}
.portal-header .search:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.account{gap:15px;flex-shrink:0}
.user-details{display:flex;flex-direction:column;gap:3px;text-align:right;border-left:1px solid var(--line);padding-left:15px;max-width:230px}
#account-name{font-size:12px;font-weight:700;color:var(--text)}
#account-email{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
#logout{padding:9px 11px;color:var(--orange);border:1px solid var(--orange);border-radius:8px;background:transparent;font-size:12px}
#logout:hover{background:var(--orange-soft)}
.theme-toggle{font-size:11px;padding:9px 11px}
.workspace main{width:100%;max-width:1376px;padding:28px 28px 0;flex:1;margin:0 auto}
#portal-message:empty{display:none}
.groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.group{min-width:0;display:flex;align-items:center;gap:15px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);min-height:84px;transition:border-color .15s,background .15s}
.group:hover{transform:none;background:var(--soft);border-color:var(--accent)}
.group.selected{border-color:var(--orange);background:var(--surface);box-shadow:inset 3px 0 var(--orange)}
.groups .group .group-icon{width:46px;height:46px;flex-shrink:0;margin:0;border:1px solid var(--line);font-size:23px;border-radius:10px;background:var(--soft);color:var(--accent)}
.groups .group:nth-child(even) .group-icon{background:var(--orange-soft);color:var(--orange)}
.group-summary{min-width:0}
.group h3{font-size:12px;color:var(--muted);font-family:'DM Sans',sans-serif;font-weight:500;margin:0 0 5px}
.group strong{font-family:'Manrope',sans-serif;display:block;font-size:17px;font-weight:800;line-height:1.25;letter-spacing:-.4px}
.library{margin-top:24px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.all-areas{border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:transparent;color:var(--muted);font-size:11px}
.all-areas.active{color:var(--accent);background:var(--soft);border-color:var(--accent)}
.filters{margin:0;gap:4px}
.filters button{font-size:11px;padding:8px 12px}
.filters .selected{background:var(--orange-soft);color:var(--orange)}
.reports{margin:0}
.report-section{margin:0 0 28px}
.report-section-title{display:flex;align-items:center;gap:10px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin:0 0 16px;padding:0 0 11px;border-bottom:1px solid var(--line)}
.report-section-title>span{color:var(--orange);font-size:20px;line-height:1}
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.report{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:20px 22px;border:1px solid var(--line);border-radius:13px;background:var(--surface);min-width:0}
.report-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}
.report-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;font-size:22px;color:var(--accent);background:var(--soft);border:1px solid var(--line)}
.report-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--line);border-radius:20px;padding:5px 9px;color:var(--orange);background:var(--orange-soft)}
.report h3{font-family:'Manrope',sans-serif;font-size:16px;font-weight:800;letter-spacing:-.3px;margin:0 0 8px}
.report p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 18px}
.report a{display:block;font-size:12px;font-weight:700;text-decoration:none;color:var(--orange);margin-top:auto;border-top:1px solid var(--line);padding-top:13px}
.report a:hover{text-decoration:underline}
.empty{padding:35px 20px}
footer{margin-top:35px;font-size:10px;color:var(--muted);padding:18px 0}
.login-card{border-top:3px solid var(--orange)}
@media(min-width:1250px){.groups{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.portal-header{flex-wrap:wrap;gap:14px 24px;padding:14px 28px}.portal-header .search{order:3;max-width:none;flex-basis:100%}.account{margin-left:auto}.user-details{max-width:220px}}
@media(max-width:850px){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.groups{grid-template-columns:repeat(2,minmax(0,1fr))}.user-details{display:none}.group{padding:14px;gap:12px}.group strong{font-size:16px}}
@media(max-width:540px){.portal-header{padding:12px 16px;gap:12px}.portal-brand{gap:9px}.portal-brand img{width:64px;height:36px}.portal-brand h1{font-size:15px}.portal-brand p{font-size:9px}.account{gap:7px}.theme-toggle,#logout{font-size:10px;padding:8px}.workspace main{padding:20px 16px 0}.groups{gap:9px}.group{padding:12px 10px;gap:9px;min-height:76px}.groups .group .group-icon{width:32px;height:36px;font-size:19px}.group h3{font-size:10px}.group strong{font-size:14px}.report-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap;margin-bottom:22px}.filters button{padding:8px 10px}.report{padding:18px}.report-section-title{font-size:13px}}
@media(prefers-reduced-motion:reduce){.group{transition:none}}
