.brand-logo { display:block; width:210px; height:auto; }
.login-brand .brand-logo { width:min(330px,38vw); background:#fff; padding:12px 16px; border-radius:18px; }
.side-brand .brand-logo { width:184px; background:#fff; padding:6px 9px; border-radius:12px; }
.side-brand-text { display:grid; gap:3px; padding:4px 8px 22px; }
.side-brand-text strong { color:#fff; font-size:1.28rem; letter-spacing:-.02em; }
.side-brand-text small { color:#8ba2b1; }
.topbar { position:sticky; display:grid; grid-template-columns:minmax(220px,auto) minmax(250px,1fr) auto; grid-template-areas:"title slogan actions"; gap:24px; }
.topbar > div:first-child { grid-area:title; min-width:0; }
.topbar-slogan { grid-area:slogan; min-width:0; text-align:center; color:#0b746b; font-size:clamp(.72rem,.8vw,.88rem); font-weight:850; letter-spacing:.055em; white-space:normal; line-height:1.3; }
.top-actions { grid-area:actions; min-width:0; flex-wrap:nowrap; }
.top-actions > * { flex:0 0 auto; }
.map-navigation { position:absolute; z-index:620; left:14px; top:82px; display:grid; grid-template-columns:repeat(3,38px); grid-template-rows:repeat(4,38px); gap:5px; padding:8px; background:rgba(255,255,255,.96); border:1px solid #c9d8de; border-radius:13px; box-shadow:0 8px 24px rgba(7,22,36,.18); }
.map-navigation button { border:1px solid #cad7dc; background:#fff; color:#143246; border-radius:8px; font-weight:900; cursor:pointer; }
.map-navigation button:hover { background:#eaf8f5; border-color:#18a999; }
.map-navigation .pan-up{grid-column:2}.map-navigation .pan-left{grid-column:1;grid-row:2}.map-navigation .pan-home{grid-column:2;grid-row:2}.map-navigation .pan-right{grid-column:3;grid-row:2}.map-navigation .pan-down{grid-column:2;grid-row:3}.map-navigation .zoom-out{grid-column:1 / span 1;grid-row:4}.map-navigation .zoom-in{grid-column:3;grid-row:4}.map-navigation .zoom-label{grid-column:2;grid-row:4;display:grid;place-items:center;font-size:.62rem;color:#627683;font-weight:800}.map-mouse-help { position:absolute; z-index:610; left:14px; bottom:14px; max-width:290px; padding:8px 11px; border-radius:9px; background:rgba(7,22,36,.9); color:#fff; font-size:.7rem; line-height:1.4; }
.report-filter-panel { margin-top:18px; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.report-filter-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr 1.3fr; gap:12px; margin-top:12px; }
.report-filter-grid label { display:grid; gap:6px; color:#4f6572; font-size:.74rem; font-weight:800; }
.report-filter-grid input,.report-filter-grid select { width:100%; border:1px solid var(--line); border-radius:9px; padding:10px; background:#fff; }
.report-brand-head { display:flex; align-items:center; gap:18px; }
.report-brand-head img { width:210px; height:auto; }
.report-brand-meta { border-left:1px solid var(--line); padding-left:18px; }
.report-data-table { width:100%; border-collapse:collapse; font-size:.82rem; }
.report-data-table th,.report-data-table td { padding:10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.report-data-table th { background:#eef6f5; color:#21495a; }
@media(max-width:1550px){.topbar{height:auto;min-height:96px;grid-template-columns:minmax(190px,1fr) auto;grid-template-areas:"title actions" "slogan slogan";gap:6px 18px;padding-top:10px;padding-bottom:10px}.top-actions{grid-area:actions}.top-actions .user{display:none}.report-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.brand-logo{width:170px}.login-brand .brand-logo{width:250px}.topbar{min-height:90px;grid-template-columns:minmax(130px,1fr) auto;gap:5px 8px}.topbar-slogan{font-size:.68rem;letter-spacing:.035em}.map-navigation{top:72px;transform:scale(.9);transform-origin:top left}.map-mouse-help{max-width:220px}.report-filter-grid{grid-template-columns:1fr}.report-brand-head{align-items:flex-start;flex-direction:column}.report-brand-meta{border-left:0;padding-left:0}}
