body { margin: 0; padding: 0; min-height: 100vh; font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; background: #f0f2f5; color: rgba(0, 0, 0, 0.85); } .app-layout { min-height: 100vh; } .app-header { background: #001529; display: flex; align-items: center; padding: 0 24px; height: 64px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); } .app-header-title { color: #fff; font-size: 20px; font-weight: 600; } .app-sider { background: #001529; min-height: calc(100vh - 64px); } .app-menu { height: 100%; border-inline-end: none !important; } .app-content { padding: 24px; background: #fff; min-height: calc(100vh - 64px - 70px); } .content { min-height: 100%; } .app-footer { display: flex; align-items: center; padding: 16px 24px; background: #fff; border-top: 1px solid #f0f0f0; gap: 12px; } .footer-spacer { flex: 1; } .weather-table { background: #fff; } #blazor-error-ui { background: #fffbe6; border: 1px solid #ffe58f; bottom: 0; box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); display: none; left: 0; padding: 0.6rem 1.25rem 0.7rem 1.25rem; position: fixed; width: 100%; z-index: 1000; } #blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; } .blazor-error-boundary { border: 1px solid #ff4d4f; padding: 16px 24px; border-radius: 4px; background: #fff2f0; color: #a8071a; } .blazor-error-boundary::before { content: "An error has occurred. "; font-weight: 600; } code { color: #c02d76; } @media (max-width: 768px) { .app-content { padding: 16px; } .app-footer { flex-direction: column; align-items: flex-start; } .footer-spacer { display: none; } }