/* Status Bar */ .status-bar { display: flex; align-items: center; gap: var(--badge-spacing); padding: var(--box-padding); } .status-bar[hidden] { display: none; } .status-indicator { width: 0.5em; height: 0.5em; border-radius: 50%; flex-shrink: 0; } .status-text { flex: 1; } .status-close { margin-left: auto; opacity: var(--semi-transparent); font-size: var(--font-size); } .status-close:hover { opacity: 1; } .status-bar.status-none .status-indicator { background: var(--secondary); } .status-bar.status-minor .status-indicator { background: var(--warning); } .status-bar.status-major .status-indicator, .status-bar.status-critical .status-indicator { background: var(--dangerous); } .status-bar.status-minor, .status-bar.status-major, .status-bar.status-critical { background: rgb(from var(--warning) r g b / .1); } .status-bar.status-major, .status-bar.status-critical { background: rgb(from var(--dangerous) r g b / .1); } /* Toast Notifications */ #toastContainer { position: fixed; left: 50%; translate: -50% 0; bottom: calc(var(--page-spacing) * 2); z-index: 9999; display: flex; flex-direction: column-reverse; align-items: center; gap: var(--badge-spacing); pointer-events: none; width: calc(min(100%, var(--page-width)) - var(--page-spacing)); } .toast { pointer-events: auto; padding: var(--box-padding); border-radius: var(--border-radius); background: color-mix(in srgb, var(--f1-bg), transparent 10%); color: var(--text-color); cursor: pointer; opacity: 0; transition: opacity var(--transition-duration); } .toast-visible { opacity: 1; } .toast i { margin-right: var(--badge-spacing); } .toast-success i { color: var(--primary); } .toast-error i { color: var(--dangerous); } .toast-info i { color: var(--secondary); } /* Layout */ header { padding: var(--box-padding); display: flex; align-items: center; gap: var(--box-spacing); flex-shrink: 0; } #app { flex: 1; display: flex; flex-direction: column; align-items: stretch; overflow: hidden; } .page { flex: 1; display: flex; flex-direction: column; overflow: hidden; } .page-content { display: flex; flex-direction: column; align-items: flex-start; overflow-y: auto; flex: 1; } header, .chat-page .page-content, .page-content:not(.chat-page .page-content) > * { width: var(--page-width); max-width: 100%; align-self: center; transition: width var(--transition-duration); }