:root{--pwa-safe-bottom:env(safe-area-inset-bottom,0px);--pwa-safe-top:env(safe-area-inset-top,0px)}
.pwa-connection{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.pwa-connection::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.pwa-connection.offline{color:#ffcf68;border-color:#7e5f1e}.pwa-connection.offline::before{background:var(--orange);box-shadow:0 0 12px var(--orange)}
.pwa-install-trigger[hidden],.pwa-standalone [data-pwa-install]{display:none!important}.pwa-install-trigger{white-space:nowrap}.pwa-notification-link{position:relative;width:44px;padding:0;font-size:18px}
.pwa-bottom-nav{display:none}.pwa-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--white);box-shadow:0 32px 100px #000b}.pwa-dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.pwa-dialog section{padding:28px}.pwa-dialog h2{font-size:30px;margin:8px 0 18px}.pwa-dialog li{margin:13px 0;color:var(--muted);line-height:1.5}
.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.notification-list{display:grid;gap:12px}.notification-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--panel),var(--panel2));text-decoration:none;color:inherit}.notification-item:hover{border-color:var(--green)}.notification-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#0a3b25;font-size:21px}.notification-item h3{margin:2px 0 6px}.notification-item p{margin:0;color:var(--muted);line-height:1.5}.notification-item time{color:var(--muted);font-size:11px;white-space:nowrap}.notification-item.priority{border-left:4px solid var(--orange)}.notification-item.success{border-left:4px solid var(--green)}
.report-periods{display:flex;gap:8px;flex-wrap:wrap}.report-periods .active{color:#001008;background:linear-gradient(90deg,var(--mint),var(--green),var(--lime));border-color:transparent}.report-summary{position:relative;overflow:hidden}.report-summary::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;top:-140px;background:radial-gradient(circle,#2cff4530,transparent 70%);pointer-events:none}.report-highlight{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report-highlight div{padding:17px;border:1px solid var(--line);border-radius:14px;background:#00170f}.report-highlight span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900}.report-highlight strong{display:block;margin-top:10px;font-size:25px}.report-ranking{display:grid;gap:9px}.report-ranking article{display:grid;grid-template-columns:1fr auto;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.report-ranking small{display:block;color:var(--muted);margin-top:4px}.report-ranking b.negative{color:#ff7c7c}.offline-draft-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:0 0 14px;border:1px solid #856716;border-radius:12px;background:#3a2d0b;color:#ffe08a}.pwa-offline .requires-online{opacity:.58}.pwa-offline .requires-online::after{content:" · conexão necessária"}
html[data-theme="light"] .pwa-dialog,html[data-theme="light"] .notification-item{background:#fff;color:#071a11}html[data-theme="light"] .notification-icon,html[data-theme="light"] .report-highlight div{background:#e6f5ec;color:#071a11}html[data-theme="light"] .notification-item p,html[data-theme="light"] .notification-item time{color:#4d6658}
@media(max-width:780px){
  body{padding-top:var(--pwa-safe-top)}.main{padding-bottom:calc(102px + var(--pwa-safe-bottom))}.topbar{position:sticky;top:0;z-index:15;margin:-20px -16px 18px;padding:12px 16px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.topbar>.pwa-connection{margin-left:auto}.userbar{gap:7px}.userbar .pwa-install-trigger{display:inline-flex!important;width:44px;padding:0;font-size:0}.userbar .pwa-install-trigger::before{content:"⇩";font-size:20px}.userbar .pwa-notification-link{display:inline-flex!important}.userbar .avatar{display:none}
  .pwa-bottom-nav{position:fixed;z-index:25;inset:auto 8px max(8px,var(--pwa-safe-bottom)) 8px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;border:1px solid #1d6a3f;border-radius:20px;background:color-mix(in srgb,#00170f 94%,transparent);box-shadow:0 18px 50px #000b;backdrop-filter:blur(18px)}.pwa-bottom-nav a{display:grid;place-items:center;gap:3px;min-height:55px;padding:5px 2px;border-radius:14px;color:#96b9a8;text-decoration:none;font-size:9px;font-weight:800;text-align:center}.pwa-bottom-nav i{font-style:normal;font-size:19px}.pwa-bottom-nav a.active{background:#0b3c24;color:#fff;box-shadow:inset 0 -2px var(--green)}.pwa-bottom-nav .register{margin-top:-19px;min-height:68px;border:2px solid #00170f;background:linear-gradient(145deg,var(--mint),var(--green),var(--lime));color:#00170f;box-shadow:0 8px 24px #00e9ad45}.pwa-bottom-nav .register i{font-size:26px}
  .notification-toolbar{align-items:stretch;flex-direction:column}.notification-item{grid-template-columns:auto 1fr}.notification-item time{grid-column:2}.report-highlight{grid-template-columns:1fr}.report-ranking article{grid-template-columns:1fr}.pwa-dialog section{padding:22px}.offline-draft-note{align-items:flex-start;flex-direction:column}
}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.sidebar{padding-top:calc(24px + var(--pwa-safe-top))}.pwa-install-trigger{display:none!important}}
@media print{.sidebar,.topbar,.pwa-bottom-nav,.report-actions,.theme-toggle{display:none!important}.main{margin:0;padding:0;background:#fff;color:#111}.section,.card{break-inside:avoid;box-shadow:none}.report-page{color:#111}.report-page .subtitle,.report-page small{color:#555!important}}
