html,
body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
    background: #f4f7fb;
}

html {
    overflow-y: scroll;
}

body {
    min-width: 320px;
    color: #0f172a;
}

:root {
    --task-status-todo-color: #b45309;
    --task-status-todo-background: #fff7ed;
    --task-status-todo-border: #fed7aa;
    --task-status-doing-color: #1d4ed8;
    --task-status-doing-background: #eff6ff;
    --task-status-doing-border: #bfdbfe;
    --task-status-done-color: #047857;
    --task-status-done-background: #ecfdf5;
    --task-status-done-border: #a7f3d0;
    --task-status-cancelled-color: #64748b;
    --task-status-cancelled-background: #f1f5f9;
    --task-status-cancelled-border: #cbd5e1;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

h1:focus {
    outline: none;
}

a {
    color: inherit;
}

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

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

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    padding: 1rem 1rem 1rem 3.7rem;
    background: #b32121;
    color: white;
}

.blazor-error-boundary::after {
    content: "Une erreur s'est produite.";
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.section-placeholder {
    width: 100%;
    max-width: none;
}

.section-placeholder .section-kicker {
    margin-bottom: 7px;
    color: #2563eb;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.section-placeholder h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.75rem, 2.2vw, 2.25rem);
    font-weight: 780;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

.section-placeholder > p {
    max-width: 760px;
    margin: 8px 0 0;
    color: #64748b;
    font-size: 0.95rem;
}

.section-placeholder .placeholder-paper {
    min-height: 260px;
    border-color: #e4eaf2;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.03);
}

/* En Debug local, le fond du MudDrawer est volontairement distinct de la production.
   Cette règle est globale car le contenu du MudDrawer est rendu à l'intérieur du composant MudBlazor. */
.debug-local-drawer,
.debug-local-drawer .mud-drawer-content {
    background: linear-gradient(180deg, #681c24 0%, #401116 100%) !important;
}

.debug-local-drawer .drawer-section-label {
    color: #f0a0a7;
}

.debug-local-drawer .mud-nav-link {
    color: #f1d5d8 !important;
}

.debug-local-drawer .mud-nav-link .mud-nav-link-icon {
    color: #dba0a6 !important;
}

.debug-local-drawer .mud-nav-link:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
}

.debug-local-drawer .mud-nav-link.active {
    background: rgba(248, 113, 113, 0.19) !important;
    color: #ffffff !important;
}

.debug-local-drawer .mud-nav-link.active .mud-nav-link-icon {
    color: #fecaca !important;
}

.debug-local-drawer .brand-product {
    color: #fecaca;
}
