.data-screen-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; flex-shrink: 0; }
.data-screen-tools .layui-btn { margin: 0; }
.data-screen-tools small { width: 100%; text-align: right; color: #64748b; font-size: 12px; }
.public-dashboard-password-dialog label { color: #475569; }
.public-dashboard-password-dialog input { background: #fff; color: #172b3a; border-color: #cbd5e1; font-size: 16px; }
.public-dashboard-password-dialog input::placeholder { color: #7b8797; }
.show-page { min-width: 0; }
.public-screen-access { display: grid; min-height: 100dvh; place-items: center; padding: 20px; box-sizing: border-box; }
.public-screen-access-card { box-sizing: border-box; width: min(430px, 100%); padding: 30px; border: 1px solid #245c78; border-radius: 16px; background: linear-gradient(180deg, #0b2638, #12344b); box-shadow: 0 20px 65px #0007; color: #eaf8ff; }
.public-screen-access-card > span { color: #55d8ef; font-size: 10px; letter-spacing: 1px; }
.public-screen-access-card h1 { margin: 16px 0 8px; font-size: 24px; }
.public-screen-access-card p { font-size: 13px; color: #a6c5d6; line-height: 1.7; }
.public-screen-access-card label { display: grid; gap: 9px; margin-top: 24px; font-size: 14px; }
.public-screen-access-card input { box-sizing: border-box; width: 100%; height: 46px; border: 1px solid #39738e; border-radius: 7px; padding: 0 12px; background: #082134; color: #fff; font-size: 16px; }
.public-screen-access-card button { width: 100%; min-height: 44px; border: 0; border-radius: 7px; background: #45d4e5; color: #082134; font-weight: 700; cursor: pointer; }
.public-screen-access-card button:disabled { opacity: .55; cursor: wait; }
.public-screen-access-card .public-screen-access-message { color: #ffd092; min-height: 24px; overflow-wrap: anywhere; }
.public-screen-map-error { position: fixed; left: 50%; top: 12px; transform: translateX(-50%); max-width: 90vw; z-index: 9; padding: 8px 12px; border-radius: 6px; background: #74302e; color: #fff; font-size: 13px; }
@media (max-width: 700px) {
  .data-screen-tools { width: 100%; justify-content: flex-start; }
  .data-screen-tools small { text-align: left; }
  .public-screen-access-card { padding: 24px; }
}
