html, body {
    height: 100%;
    min-height: 100vh;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                 "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    background:
        radial-gradient(ellipse 100% 80% at 10% 20%, rgba(20, 184, 166, 0.18) 0%, transparent 50%),
        radial-gradient(ellipse 80% 60% at 90% 10%, rgba(34, 211, 238, 0.14) 0%, transparent 50%),
        radial-gradient(ellipse 70% 90% at 80% 90%, rgba(16, 185, 129, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse 60% 50% at 20% 80%, rgba(14, 165, 233, 0.10) 0%, transparent 50%),
        linear-gradient(135deg, #060A12 0%, #0D1420 50%, #060A12 100%) !important;
    background-attachment: fixed !important;
}

.saved-time-indicator {
    opacity: 0.65;
}

.rs-header-action-icon.mud-icon-button {
    margin-left: 6px;
}

/* Compact back-button area used in application editor header */
.back-button-area {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    flex: 0 0 36px;
    justify-content: center;
    align-items: center;
}

h1, h2, h3 {
    font-weight: 600;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

/* Shared action button style for publish-like actions and primary dialog actions. */
.global-button-style.mud-button,
.rs-primary-button.mud-button,
.mud-button-root.mud-button.mud-button-filled.mud-button-filled-primary.rs-primary-button,
.rs-hirer-theme .mud-button-root.mud-button.mud-button-filled.mud-button-filled-primary,
.mud-dialog-actions .mud-button.mud-button-filled.mud-button-filled-primary {
    border: 1px solid var(--mud-palette-primary) !important;
    background-color: rgba(var(--mud-palette-primary-rgb, 89, 74, 226), 0.12) !important;
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent) !important;
    color: var(--mud-palette-text-primary) !important;
    text-transform: none;
    font-weight: 500;
}

.global-button-style.mud-button:hover,
.rs-primary-button.mud-button:hover,
.mud-button-root.mud-button.mud-button-filled.mud-button-filled-primary.rs-primary-button:hover,
.rs-hirer-theme .mud-button-root.mud-button.mud-button-filled.mud-button-filled-primary:hover,
.mud-dialog-actions .mud-button.mud-button-filled.mud-button-filled-primary:hover {
    background-color: rgba(var(--mud-palette-primary-rgb, 89, 74, 226), 0.18) !important;
    background: color-mix(in srgb, var(--mud-palette-primary) 16%, transparent) !important;
}

.global-button-style.mud-button.mud-button-disabled,
.global-button-style.mud-button[disabled],
.rs-primary-button.mud-button.mud-button-disabled,
.rs-primary-button.mud-button[disabled],
.mud-button-root.mud-button.mud-button-filled.mud-button-filled-primary.rs-primary-button.mud-button-disabled,
.mud-button-root.mud-button.mud-button-filled.mud-button-filled-primary.rs-primary-button[disabled],
.rs-hirer-theme .mud-button-root.mud-button.mud-button-filled.mud-button-filled-primary.mud-button-disabled,
.rs-hirer-theme .mud-button-root.mud-button.mud-button-filled.mud-button-filled-primary[disabled],
.mud-dialog-actions .mud-button.mud-button-filled.mud-button-filled-primary.mud-button-disabled,
.mud-dialog-actions .mud-button.mud-button-filled.mud-button-filled-primary[disabled] {
    border-color: var(--mud-palette-lines-default) !important;
    background-color: rgba(128, 128, 128, 0.18) !important;
    background: color-mix(in srgb, var(--mud-palette-action-disabled) 18%, transparent) !important;
    color: var(--mud-palette-action-disabled) !important;
    opacity: 0.8;
}

/* Icon button variant of global-button-style */
.global-button-style.mud-icon-button {
    border: 1px solid var(--mud-palette-primary) !important;
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent) !important;
    color: var(--mud-palette-text-primary) !important;
}

.global-button-style.mud-icon-button:hover {
    background: color-mix(in srgb, var(--mud-palette-primary) 16%, transparent) !important;
}

.global-button-style.mud-icon-button.mud-icon-button-disable,
.global-button-style.mud-icon-button[disabled] {
    border-color: var(--mud-palette-lines-default) !important;
    background: color-mix(in srgb, var(--mud-palette-action-disabled) 18%, transparent) !important;
    color: var(--mud-palette-action-disabled) !important;
    opacity: 0.8;
}

/* Error (destructive) button style — matches global-button-style pattern */
.rs-error-button.mud-button {
    border: 1px solid var(--mud-palette-error) !important;
    background: color-mix(in srgb, var(--mud-palette-error) 10%, transparent) !important;
    color: var(--mud-palette-text-primary) !important;
    text-transform: none;
    font-weight: 500;
}

.rs-error-button.mud-button:hover {
    background: color-mix(in srgb, var(--mud-palette-error) 16%, transparent) !important;
}

.rs-error-button.mud-button.mud-button-disabled,
.rs-error-button.mud-button[disabled] {
    border-color: var(--mud-palette-lines-default) !important;
    background: color-mix(in srgb, var(--mud-palette-action-disabled) 18%, transparent) !important;
    color: var(--mud-palette-action-disabled) !important;
    opacity: 0.8;
}

/* Success button style — matches global-button-style pattern */
.rs-success-button.mud-button {
    border: 1px solid var(--mud-palette-success) !important;
    background: color-mix(in srgb, var(--mud-palette-success) 10%, transparent) !important;
    color: var(--mud-palette-text-primary) !important;
    text-transform: none;
    font-weight: 500;
}

.rs-success-button.mud-button:hover {
    background: color-mix(in srgb, var(--mud-palette-success) 16%, transparent) !important;
}

.rs-success-button.mud-button.mud-button-disabled,
.rs-success-button.mud-button[disabled] {
    border-color: var(--mud-palette-lines-default) !important;
    background: color-mix(in srgb, var(--mud-palette-action-disabled) 18%, transparent) !important;
    color: var(--mud-palette-action-disabled) !important;
    opacity: 0.8;
}

/* Confirmation checkbox with glass orange accent — used in publish/confirm dialogs. */
.rs-confirm-checkbox {
    border: 1px solid color-mix(in srgb, var(--mud-palette-warning) 50%, transparent);
    background: color-mix(in srgb, var(--mud-palette-warning) 8%, transparent);
    border-radius: 8px;
    padding: 8px 16px 8px 4px;
}

.rs-confirm-checkbox .mud-checkbox-icons .mud-icon-root {
    color: var(--mud-palette-warning) !important;
}

/* Notice / callout text with soft orange accent — pairs with confirm dialogs. */
.rs-confirm-notice {
    color: color-mix(in srgb, var(--mud-palette-warning) 85%, var(--mud-palette-text-secondary)) !important;
}

/* Keep modal action labels consistent with shared site button typography. */
.mud-dialog-actions .mud-button,
.dialog-action-buttons .mud-button {
    text-transform: none;
    font-weight: 500;
}

/* Shared pill/chip styling for status-like indicators. */
.rs-pill,
.application-status-pill,
.rs-hirer-theme .mud-chip.mud-chip-outlined {
    background-color: transparent !important;
    border: 1px solid currentColor !important;
    border-radius: 999px !important;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.mud-chip.rs-pill.mud-chip-filled,
.mud-chip.application-status-pill.mud-chip-filled {
    background-color: transparent !important;
}

.mud-chip.rs-pill .mud-chip-content,
.mud-chip.application-status-pill .mud-chip-content,
.rs-hirer-theme .mud-chip.mud-chip-outlined .mud-chip-content {
    color: inherit !important;
}

.rs-hirer-theme .mud-chip {
    border-radius: 999px !important;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.rs-pill--primary {
    color: var(--mud-palette-primary) !important;
}

.rs-pill--secondary {
    color: var(--mud-palette-secondary) !important;
}

.rs-pill--success {
    color: var(--mud-palette-success) !important;
}

.rs-pill--info {
    color: var(--mud-palette-info) !important;
}

.rs-pill--warning {
    color: var(--mud-palette-warning) !important;
}

.rs-pill--error {
    color: var(--mud-palette-error) !important;
}

/* Shared outlined info/callout alert with accent color variants. */
.mud-alert.rs-info-box,
.rs-hirer-theme .mud-alert[class*="mud-alert-outlined-"],
.rs-hirer-theme .mud-alert[class*="mud-alert-filled-"],
.rs-hirer-theme .mud-alert[class*="mud-alert-text-"] {
    --rs-info-box-accent: var(--mud-palette-info);
    border: 1px solid color-mix(in srgb, var(--rs-info-box-accent) 60%, transparent) !important;
    background: color-mix(in srgb, var(--rs-info-box-accent) 12%, transparent) !important;
}

.mud-alert.rs-info-box .mud-alert-icon,
.rs-hirer-theme .mud-alert[class*="mud-alert-"] .mud-alert-icon {
    color: var(--rs-info-box-accent) !important;
}

.mud-alert.rs-info-box .mud-alert-message,
.mud-alert.rs-info-box .mud-alert-message .mud-typography,
.rs-hirer-theme .mud-alert[class*="mud-alert-"] .mud-alert-message,
.rs-hirer-theme .mud-alert[class*="mud-alert-"] .mud-alert-message .mud-typography {
    color: var(--mud-palette-text-primary) !important;
}

.mud-alert.rs-info-box--warning {
    --rs-info-box-accent: var(--mud-palette-warning);
}

.mud-alert.rs-info-box--info {
    --rs-info-box-accent: var(--mud-palette-info);
}

.mud-alert.rs-info-box--error {
    --rs-info-box-accent: var(--mud-palette-error);
}

.rs-hirer-theme .mud-alert[class*="mud-alert-"][class*="-warning"] {
    --rs-info-box-accent: var(--mud-palette-warning);
}

.rs-hirer-theme .mud-alert[class*="mud-alert-"][class*="-error"] {
    --rs-info-box-accent: var(--mud-palette-error);
}

.rs-hirer-theme .mud-alert[class*="mud-alert-"][class*="-success"] {
    --rs-info-box-accent: var(--mud-palette-success);
}

.rs-hirer-theme .mud-alert[class*="mud-alert-"][class*="-info"] {
    --rs-info-box-accent: var(--mud-palette-info);
}

/* Global snackbar styling aligned with publish/action button treatment. */
.mud-snackbar {
    border: 1px solid var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent) !important;
    color: var(--mud-palette-text-primary) !important;
    backdrop-filter: blur(6px);
}

.mud-snackbar .mud-snackbar-message,
.mud-snackbar .mud-snackbar-message .mud-typography {
    color: var(--mud-palette-text-primary) !important;
}

.mud-snackbar .mud-icon-button,
.mud-snackbar .mud-button-text {
    color: var(--mud-palette-text-primary) !important;
}

.mud-snackbar .mud-icon-button:hover,
.mud-snackbar .mud-button-text:hover {
    background: color-mix(in srgb, var(--mud-palette-primary) 16%, transparent) !important;
}

/* Global tooltip styling aligned with site theme */
.mud-tooltip {
    border: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 50%, var(--mud-palette-primary) 30%) !important;
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, rgba(15, 23, 42, 0.95)) !important;
    color: var(--mud-palette-text-primary) !important;
    backdrop-filter: blur(8px) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-weight: 500 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.01em !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.mud-tooltip .mud-typography {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e51480;
}

.validation-message {
    color: #e51480;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

/* Toast UI Editor Custom Styling - Forced Light Mode */

/* Main container */
.toastui-editor-defaultUI {
    background-color: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* Toolbar */
.toastui-editor-defaultUI-toolbar {
    background-color: #f7f9fc !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

.toastui-editor-defaultUI-toolbar button {
    color: #333 !important;
}

.toastui-editor-defaultUI-toolbar button:hover {
    background-color: #e8ebf0 !important;
    color: #000 !important;
    border: 1px solid #d1d5db !important;
}

.toastui-editor-defaultUI-toolbar button.active {
    background-color: #e8ebf0 !important;
    color: #000 !important;
    border: 1px solid #d1d5db !important;
}

/* Markdown & WYSIWYG Content Areas */
.toastui-editor-md-container,
.toastui-editor-ww-container {
    background-color: #ffffff !important;
}

.toastui-editor .ProseMirror {
    color: #333333 !important;
    background-color: #ffffff !important;
}

/* Tabs (Markdown/WYSIWYG switch) */
.toastui-editor-mode-switch {
    background-color: #f7f9fc !important;
    border-top: 1px solid #e0e0e0 !important;
}

.toastui-editor-mode-switch .tab-item {
    color: #333 !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
}

.toastui-editor-mode-switch .tab-item.active {
    background-color: #ffffff !important;
    color: #00a9ff !important;
    border: 1px solid #e0e0e0 !important;
    border-bottom: none !important;
}

/* Popups */
.toastui-editor-popup {
    background-color: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.toastui-editor-popup-body {
    background-color: #ffffff !important;
    color: #333 !important;
}

.toastui-editor-popup-header {
    background-color: #f7f9fc !important;
    border-bottom: 1px solid #e0e0e0 !important;
    color: #333 !important;
}

/* Ensure input fields in popups are visible */
.toastui-editor-popup input[type="text"] {
    background-color: #ffffff !important;
    color: #333 !important;
    border: 1px solid #ddd !important;
}

/* Scrollbars */
.toastui-editor .ProseMirror::-webkit-scrollbar {
    width: 12px;
    background-color: #f5f5f5;
}

.toastui-editor .ProseMirror::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 6px;
}

/* Markdown Syntax Highlighting (Light Mode) */
.toastui-editor .ProseMirror .heading { color: #005cc5 !important; font-weight: bold !important; }
.toastui-editor .ProseMirror .list-item { color: #333 !important; }
.toastui-editor .ProseMirror .link { color: #0366d6 !important; text-decoration: underline !important; }
.toastui-editor .ProseMirror .strong { color: #24292e !important; font-weight: bold !important; }
.toastui-editor .ProseMirror .emph { color: #24292e !important; font-style: italic !important; }
.toastui-editor .ProseMirror .code {
    background-color: #f6f8fa !important;
    color: #24292e !important;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace !important;
    padding: 2px 4px !important;
    border-radius: 3px !important;
}
.toastui-editor .ProseMirror .code-block {
    background-color: #f6f8fa !important;
    border-left: 4px solid #dfe2e5 !important;
    color: #24292e !important;
}
.toastui-editor .ProseMirror .quote {
    color: #6a737d !important;
    border-left: 4px solid #dfe2e5 !important;
}
.toastui-editor .ProseMirror .table th {
    background-color: #f6f8fa !important;
    border-color: #dfe2e5 !important;
    color: #24292e !important;
}
.toastui-editor .ProseMirror .table td {
    border-color: #dfe2e5 !important;
}

/* WYSIWYG Preview Mode - Ensure all text elements are visible */
.toastui-editor .ProseMirror h1,
.toastui-editor .ProseMirror h2,
.toastui-editor .ProseMirror h3,
.toastui-editor .ProseMirror h4,
.toastui-editor .ProseMirror h5,
.toastui-editor .ProseMirror h6 {
    color: #24292e !important;
    font-weight: 600 !important;
}

.toastui-editor .ProseMirror p,
.toastui-editor .ProseMirror li,
.toastui-editor .ProseMirror span,
.toastui-editor .ProseMirror div {
    color: #333333 !important;
}

.toastui-editor .ProseMirror ul,
.toastui-editor .ProseMirror ol {
    color: #333333 !important;
}

.toastui-editor .ProseMirror blockquote {
    color: #6a737d !important;
    border-left: 4px solid #dfe2e5 !important;
    padding-left: 1em !important;
}

/* Markdown Mode Preview Panel - Ensure all text elements are visible */
/* More specific selectors to override ToastUI defaults */
div.toastui-editor-md-preview h1,
div.toastui-editor-md-preview h2,
div.toastui-editor-md-preview h3,
div.toastui-editor-md-preview h4,
div.toastui-editor-md-preview h5,
div.toastui-editor-md-preview h6,
div.toastui-editor-contents h1,
div.toastui-editor-contents h2,
div.toastui-editor-contents h3,
div.toastui-editor-contents h4,
div.toastui-editor-contents h5,
div.toastui-editor-contents h6,
.toastui-editor-md-preview h1,
.toastui-editor-md-preview h2,
.toastui-editor-md-preview h3,
.toastui-editor-md-preview h4,
.toastui-editor-md-preview h5,
.toastui-editor-md-preview h6,
.toastui-editor-contents h1,
.toastui-editor-contents h2,
.toastui-editor-contents h3,
.toastui-editor-contents h4,
.toastui-editor-contents h5,
.toastui-editor-contents h6 {
    color: #24292e !important;
    font-weight: 600 !important;
}

div.toastui-editor-md-preview p,
div.toastui-editor-md-preview li,
div.toastui-editor-md-preview span,
div.toastui-editor-md-preview div,
div.toastui-editor-contents p,
div.toastui-editor-contents li,
div.toastui-editor-contents span,
div.toastui-editor-contents div,
.toastui-editor-md-preview p,
.toastui-editor-md-preview li,
.toastui-editor-md-preview span,
.toastui-editor-md-preview div,
.toastui-editor-contents p,
.toastui-editor-contents li,
.toastui-editor-contents span,
.toastui-editor-contents div {
    color: #333333 !important;
}

div.toastui-editor-md-preview ul,
div.toastui-editor-md-preview ol,
div.toastui-editor-contents ul,
div.toastui-editor-contents ol,
.toastui-editor-md-preview ul,
.toastui-editor-md-preview ol,
.toastui-editor-contents ul,
.toastui-editor-contents ol {
    color: #333333 !important;
}

div.toastui-editor-md-preview blockquote,
div.toastui-editor-contents blockquote,
.toastui-editor-md-preview blockquote,
.toastui-editor-contents blockquote {
    color: #6a737d !important;
    border-left: 4px solid #dfe2e5 !important;
    padding-left: 1em !important;
}

div.toastui-editor-md-preview a,
div.toastui-editor-contents a,
.toastui-editor-md-preview a,
.toastui-editor-contents a {
    color: #0366d6 !important;
    text-decoration: underline !important;
}

div.toastui-editor-md-preview code,
div.toastui-editor-contents code,
.toastui-editor-md-preview code,
.toastui-editor-contents code {
    background-color: #f6f8fa !important;
    color: #24292e !important;
    padding: 2px 4px !important;
    border-radius: 3px !important;
}

div.toastui-editor-md-preview pre,
div.toastui-editor-contents pre,
.toastui-editor-md-preview pre,
.toastui-editor-contents pre {
    background-color: #f6f8fa !important;
    border-left: 4px solid #dfe2e5 !important;
    color: #24292e !important;
    padding: 12px !important;
}

div.toastui-editor-md-preview table th,
div.toastui-editor-contents table th,
.toastui-editor-md-preview table th,
.toastui-editor-contents table th {
    background-color: #f6f8fa !important;
    border-color: #dfe2e5 !important;
    color: #24292e !important;
}

div.toastui-editor-md-preview table td,
div.toastui-editor-contents table td,
.toastui-editor-md-preview table td,
.toastui-editor-contents table td {
    border-color: #dfe2e5 !important;
    color: #333333 !important;
}

/* Catch-all to force all text in preview to be dark */
.toastui-editor-md-preview *,
.toastui-editor-contents * {
    color: inherit !important;
}

.toastui-editor-md-preview,
.toastui-editor-contents {
    color: #333333 !important;
}

/* Role Card Abstract Background for Dark Mode */
.role-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(ellipse 80% 50% at 20% 40%, rgba(20, 184, 166, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 80% 20%, rgba(34, 211, 238, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse 50% 60% at 70% 80%, rgba(16, 185, 129, 0.10) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}

/* Abstract art background for main content area in dark mode */
.mud-layout {
    min-height: 100vh !important;
}

.mud-main-content {
    background: transparent !important;
    min-height: 100vh !important;
}

/* Ensure headings and text are white in dark mode */
.mud-main-content .mud-typography-h4,
.mud-main-content .mud-typography-h5,
.mud-main-content .mud-typography-h6,
.mud-main-content h1,
.mud-main-content h2,
.mud-main-content h3,
.mud-main-content h4,
.mud-main-content h5,
.mud-main-content h6 {
    color: #ffffff !important;
}

/* Subtitle/secondary text - light grey for contrast with white headings */
.mud-main-content .mud-typography-body2,
.mud-main-content .mud-typography-subtitle1,
.mud-main-content .mud-typography-subtitle2,
.mud-main-content .mud-typography-caption {
    color: #cbd5e1 !important;
}

.mud-container {
    background: transparent !important;
}

.main-content-container.mud-container {
    padding: 4px !important;
}

/* ==============================================
   Layout Utilities - Common Page Layouts
   ============================================== */

/* Main viewport containers with AppBar compensation */
.viewport-container {
    height: calc(100vh - 64px);
}

.viewport-container-with-margin {
    height: calc(100vh - 100px);
}

.viewport-container-role {
    height: calc(100vh - 64px - 32px);
}

/* Full height containers */
.full-height {
    height: 100%;
}

/* Sidebar styling */
.sidebar-border {
    border-right: 1px solid var(--mud-palette-lines-default);
}

/* Centered empty state container */
.empty-state-container {
    height: 300px;
}

/* Max width constraints for readability */
.max-width-content {
     max-width: 98%;
     width: 100%;
 }

.max-width-chat {
     max-width: 98%;
     width: 100%;
 }

.max-width-upload {
    width: 100%;
    max-width: 400px;
}

/* Positioning utilities */
.absolute-top-right {
    position: absolute;
    top: 0;
    right: 8px;
    z-index: 10;
}

/* Circular positioning (for radial layouts) */
.circle-center {
    position: relative;
    width: 120px;
    height: 120px;
}

.circle-center-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Step indicator connector */
.step-connector-base {
    margin-top: -24px;
}

/* ==============================================
   Page Header Styles - Modern, Clean Design
   ============================================== */

.page-header {
    margin-bottom: 0.1rem;
}

.mud-typography.page-header-title,
.page-header-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    color: rgba(255, 255, 255, 0.92) !important;
    line-height: 1.4 !important;
}

.mud-typography.page-header-subtitle,
.page-header-subtitle {
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.55) !important;
    margin-top: 0.05rem !important;
    letter-spacing: 0.02em !important;
}

.page-header-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* ==============================================
   Panel Title Styles - Consistent with Page Headers
   ============================================== */

.mud-paper .mud-typography.panel-title,
.mud-paper .panel-title,
.panel-title.mud-typography {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.95rem;
    font-weight: 400;
    letter-spacing: 0.005em;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.12
}

/* ==============================================
   Navigation Drawer - Perplexity-Inspired
   Note: !important needed to override MudBlazor defaults
   ============================================== */

/* Drawer and AppBar borders */
.nav-drawer {
    border-right: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.nav-drawer .mud-drawer-content {
    background: transparent !important;
}

.mud-appbar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.mud-navmenu {
    padding: 8px 0 !important;
}

/* ==============================================
   Nav Link Styling (MudBlazor overrides)
   ============================================== */

.mud-drawer .mud-nav-link {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    padding: 10px 16px !important;
    margin: 4px 10px !important;
    border-radius: 10px !important;
    min-height: 40px !important;
    transition: all 0.15s ease;
    text-decoration: none !important;
    background-color: transparent !important;
}

.mud-drawer .mud-nav-link .mud-nav-link-text {
    color: rgba(255, 255, 255, 0.55) !important;
    font-weight: 400 !important;
}

.mud-drawer .mud-nav-link .mud-icon-root {
    color: rgba(255, 255, 255, 0.35) !important;
    font-size: 1.0rem !important;
    margin-right: 7px !important;
}

/* Hover */
.mud-drawer .mud-nav-link:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

.mud-drawer .mud-nav-link:hover .mud-nav-link-text {
    color: rgba(255, 255, 255, 0.9) !important;
}

.mud-drawer .mud-nav-link:hover .mud-icon-root {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Active */
.mud-drawer .mud-nav-link.active {
    background-color: rgba(47, 143, 107, 0.15) !important;
    color: #ffffff !important;
}

.mud-drawer .mud-nav-link.active .mud-nav-link-text {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.mud-drawer .mud-nav-link.active .mud-icon-root {
    color: #2F8F6B !important;
}

/* ==============================================
   Nav Group (Expandable)
   ============================================== */

.mud-drawer .mud-nav-group .mud-collapse-wrapper {
    padding-left: 12px !important;
}

.mud-drawer .mud-nav-group .mud-navmenu .mud-nav-link {
    font-size: 0.70rem !important;
    padding: 6px 16px !important;
    min-height: 34px !important;
    margin: 1px 8px !important;
}

.mud-drawer .mud-nav-group .mud-navmenu .mud-nav-link .mud-icon-root {
    font-size: 0.9rem !important;
}

.mud-drawer .mud-nav-group-expand-icon {
    color: rgba(255, 255, 255, 0.3) !important;
}

/* ==============================================
   User Section (custom classes - no !important needed)
   ============================================== */

.nav-user-section {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding: 12px 8px;
    margin-top: auto;
}

.nav-user-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    width: 100%;
}

.nav-user-trigger:hover {
    background-color: rgba(255, 255, 255, 0.06);
}

.nav-user-info {
    flex: 1;
    min-width: 0;
}

.nav-user-name {
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ==============================================
   Mini Drawer Mode (Collapsed)
   ============================================== */

.nav-drawer-mini .mud-nav-link {
    padding: 10px 0 !important;
    margin: 4px 6px !important;
    justify-content: center !important;
}

.nav-drawer-mini .mud-nav-link .mud-nav-link-text {
    display: none !important;
}

.nav-drawer-mini .mud-nav-link .mud-icon-root {
    margin-right: 0 !important;
    font-size: 1.15rem !important;
}

.nav-drawer-mini .mud-nav-group-expand-icon {
    display: none !important;
}

.nav-drawer-mini .nav-user-info,
.nav-drawer-mini .nav-user-name {
    display: none !important;
}

.nav-drawer-mini .nav-user-trigger {
    justify-content: center !important;
    padding: 8px !important;
}

/* Toggle button styling */
.nav-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding: 0;
    margin-top: auto;
}

.mini-toggle-btn {
    width: 100%;
    border-radius: 0 !important;
    padding: 12px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    transition: all 0.15s ease;
}

.mini-toggle-btn:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Smooth transition for drawer width changes */
.nav-drawer {
    transition: width 0.2s ease !important;
}

.nav-drawer .mud-drawer-content {
    overflow-x: hidden !important;
}

/* ==============================================
   Compact Form Spacing - Reduce vertical gaps
   ============================================== */

/* Compact stack - tighter spacing for form sections */
.compact-form .mud-stack > * + * {
    margin-top: 8px !important;
}

/* Reduce MudTextField margins in compact forms */
.compact-form .mud-input-control {
    margin-bottom: 0 !important;
}

.compact-form .mud-input-helper-text {
    margin-top: 2px !important;
    margin-bottom: 4px !important;
}

/* Tighter chip set spacing */
.compact-form .mud-chipset {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

/* Reduce subtitle/caption margins */
.compact-form .mud-typography-subtitle2 {
    margin-top: 8px !important;
    margin-bottom: 2px !important;
}

.compact-form .mud-typography-caption {
    margin-bottom: 4px !important;
}

/* Remove extra margins from text in compact forms */
.compact-form .mt-2 {
    margin-top: 8px !important;
}

.compact-form .mb-2 {
    margin-bottom: 4px !important;
}

/* Compact panel content - less internal padding */
.compact-panel-content {
    padding: 8px 0 0 0 !important;
}

/* ==============================================
   Shared UI Utilities
   ============================================== */

.rs-panel-container {
    height: 0;
}

.rs-panel-left {
    height: 100%;
    overflow-y: auto;
}

.rs-panel-right {
    height: 100%;
}

.rs-clickable {
    cursor: pointer;
}

.rs-text-right {
    text-align: right;
}

.rs-muted {
    opacity: 0.7;
}

.rs-icon-xl {
    font-size: 4rem;
}

.rs-icon-lg {
    font-size: 3rem;
}

.rs-best-practices-panel {
    border: 1px solid var(--mud-palette-divider);
    background-color: var(--mud-palette-background-grey);
}

.rs-panel-muted-border {
    border: 1px solid var(--mud-palette-divider);
    background-color: var(--mud-palette-background-grey);
}

.rs-surface-muted {
    background-color: var(--mud-palette-background-grey);
}

.rs-tip-icon {
    font-size: 8px;
    margin-top: 6px;
}

.rs-tip-text {
    line-height: 1.4;
}

.rs-callout {
    padding: 2px 0;
}

.rs-callout-icon {
    margin-top: 2px;
}

.rs-callout-text {
    line-height: 1.4;
}
/* ===== Skill Chip Styling (Deterministic Border Colors) ===== */

/* Fade-in animation for hover border enhancement */
@keyframes borderFadeIn {
    from {
        border-width: 1px;
        opacity: 0.8;
    }
    to {
        border-width: 2px;
        opacity: 1;
    }
}

/* Base skill chip with border-only styling */
.skill-chip-deterministic {
    background-color: transparent !important;
    border: 1px solid var(--skill-border-color, rgba(139, 92, 246, 0.8)) !important;
    border-radius: 16px !important;
    padding: 4px 12px !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    cursor: default;
}

/* Hover effect with border fade-in animation */
.mud-chip.skill-chip-deterministic:hover,
.skill-chip-deterministic:hover {
    border-width: 2px !important;
    animation: borderFadeIn 0.3s ease forwards !important;
    box-shadow: 0 0 0 2px var(--skill-border-glow, rgba(139, 92, 246, 0.15)) !important;
    transform: translateY(-1px) !important;
}

/* Selected/Active state */
.skill-chip-deterministic.selected {
    border-width: 3px !important;
    box-shadow: 0 0 0 2px var(--skill-border-glow, rgba(139, 92, 246, 0.2)) !important;
}

/* State-driven hover highlight (applied to all matching skills when one is hovered) */
.skill-chip-deterministic--hovered {
    border-width: 2px !important;
    box-shadow: 0 0 0 2px var(--skill-border-glow, rgba(139, 92, 246, 0.15)) !important;
    transform: translateY(-1px) !important;
}

/* Matched skill highlight (skill matches a required job skill) */
.mud-chip.skill-chip-deterministic.skill-chip-deterministic--matched {
    background-color: rgba(var(--mud-palette-primary-rgb, 89, 74, 226), 0.15) !important;
    border: 1px solid rgba(var(--mud-palette-primary-rgb, 89, 74, 226), 0.6) !important;
    color: rgb(var(--mud-palette-primary-rgb, 89, 74, 226)) !important;
}

.skill-chip-deterministic--matched::before {
    background-color: rgba(var(--mud-palette-primary-rgb, 89, 74, 226), 0.8) !important;
}

/* Optional: Small accent dot on the left */
.skill-chip-deterministic::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--skill-border-color, rgba(139, 92, 246, 0.8));
    margin-right: 8px;
    vertical-align: middle;
}

/* Override MudChip backgrounds for skill chips */
.mud-chip.skill-chip-deterministic {
    background-color: transparent !important;
}

.mud-chip.skill-chip-deterministic .mud-chip-content {
    color: var(--mud-palette-text-primary) !important;
}

/* Small size variant */
.skill-chip-deterministic.mud-chip-size-small {
    padding: 2px 8px !important;
    font-size: 0.75rem !important;
}

.skill-chip-deterministic.mud-chip-size-small::before {
    width: 5px;
    height: 5px;
    margin-right: 6px;
}

/* ==============================================
   Application Card - Job Pill Match Highlight
   ============================================== */

.mud-chip.mud-chip-outlined.application-job-pill-match {
    border-width: 2px !important;
    border-color: currentColor !important;
}

.mud-chip.application-job-pill-match .mud-chip-content {
    font-weight: 700;
}

/* ==============================================
   Text Input Styling - Consistent Font Weight
   ============================================== */

/* Base input elements */
input,
textarea {
    font-weight: 400 !important;
}

/* Make all multiline textareas resizable */
textarea {
    resize: both !important;
    overflow: auto !important;
}

/* MudBlazor text inputs */
.mud-input,
.mud-input-text,
.mud-input > input,
.mud-input-slot > input,
.mud-input-slot > textarea,
.mud-textarea .mud-input-slot textarea {
    font-weight: 400 !important;
    font-family: inherit;
}

/* MudTextField and MudTextArea specific */
.mud-input-control input,
.mud-input-control textarea,
.mud-input-control .mud-input-slot input,
.mud-input-control .mud-input-slot textarea {
    font-weight: 400 !important;
}

/* Ensure filled and outlined variants also use normal weight */
.mud-input-outlined input,
.mud-input-outlined textarea,
.mud-input-filled input,
.mud-input-filled textarea {
    font-weight: 400 !important;
}

/* Labels should also be consistent */
.mud-input-label {
    font-weight: 400 !important;
}

/* Global dropdown menu text */
.mud-popover .mud-list-item,
.mud-popover .mud-list-item-text,
.mud-popover .mud-list-item .mud-list-item-text,
.mud-popover .mud-list-item.mud-selected-item,
.mud-popover .mud-list-item.mud-selected-item .mud-list-item-text {
    color: #f1f5f9 !important;
}

/* Floating label (legend) styling - light grey */
.mud-input-label,
.mud-input-label-outlined,
.mud-input-label-filled,
.mud-input-label.mud-shrink {
    color: rgba(214, 221, 255, 0.742) !important;
    font-weight: 400 !important;
}

/* Label when focused - slightly brighter */
.mud-input-control:focus-within .mud-input-label {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Global "Add" button – outlined pill with subtle primary tint */
.rs-add-button.mud-button {
    border: 1px solid var(--mud-palette-primary) !important;
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent) !important;
    color: var(--mud-palette-text-primary) !important;
    text-transform: none;
    font-weight: 500;
}

.rs-add-button.mud-button:hover {
    background: color-mix(in srgb, var(--mud-palette-primary) 16%, transparent) !important;
}

.rs-add-button.mud-button.mud-button-disabled {
    border-color: var(--mud-palette-lines-default) !important;
    background: color-mix(in srgb, var(--mud-palette-action-disabled) 18%, transparent) !important;
}
