:root {
    --color-midnight: #173568;
    --color-midnight-bright: #1b3f73;
    --color-sunrise: #f2be3e;
    --color-sunrise-deep: #efb83a;
    --color-ochre: var(--color-sunrise);
    --color-on-sunrise: #332813;
    --color-ink: #173568;
    --color-petrol: var(--color-midnight);
    --color-paper: #ffffff;
    --color-canvas: #fffdf7;
    --color-muted: #756f66;
    --color-line: #e8e1d2;
    --color-warning: #c86f32;
    --color-on-warning: #332813;
    --color-review: #75658a;
    --color-on-review: #fffdf7;
    --color-success: #4f7a5a;
    --color-on-success: #fffdf7;
    --color-critical: #a94442;
    --color-on-critical: #fffdf7;
    --color-disabled: #f1ede4;
    --color-disabled-text: #9a9285;
    --color-coral: var(--color-warning);
    --color-coral-dark: var(--color-critical);
    --color-amber: var(--color-sunrise);
    color-scheme: light;
    font-family: Manrope, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html {
    background: var(--color-canvas);
    min-width: 320px;
}

body {
    background: radial-gradient(circle at 10% 10%, rgba(255, 255, 255, .82), transparent 30%), var(--color-canvas);
    color: var(--color-ink);
    margin: 0;
    min-height: 100vh;
}

button,
a,
input {
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-sunrise) 55%, transparent);
    outline-offset: 3px;
}

h1:focus { outline: none; }
.valid.modified:not([type=checkbox]) { outline: 1px solid var(--color-success); }
.invalid { outline: 1px solid var(--color-critical); }
.validation-message { color: var(--color-critical); }

.blazor-error-boundary {
    background: var(--color-critical);
    color: var(--color-on-critical);
    padding: 1rem;
}

/* Verbindliche Terminalpalette aus dem Marketing-Handbuch. */
body .topbar{background:color-mix(in srgb,var(--color-canvas) 94%,transparent)!important;border-color:var(--color-line)!important}body .context-dot{background:var(--color-sunrise)!important;border-color:color-mix(in srgb,var(--color-sunrise) 32%,var(--color-paper))!important}body #blazor-error-ui{background:var(--color-critical)!important;color:var(--color-on-critical)!important}
body :is(.start-copy,.view-heading,.activation-copy,.activation-card,.employee-panel,.stamp-panel,.entry-form,.entry-explanation,.clockout-dialog) :is(h1,h2,h3,strong,label){color:var(--color-midnight)!important}
body :is(.start-copy,.view-heading,.activation-copy,.activation-card,.employee-panel,.stamp-panel,.entry-form,.entry-explanation,.clockout-dialog) :is(p,small,span){color:var(--color-muted)}
body :is(.activation-card,.stamp-panel,.entry-form,.status-summary,.clockout-dialog,.dialog-options button,.location-choices button,.confirmed-identity){background-color:var(--color-paper)!important;border-color:var(--color-line)!important}
body :is(.activation-card,.employee-panel,.entry-form,.break-input) :is(input,select,textarea),body .location-choices button{background-color:var(--color-paper)!important;border-color:var(--color-line)!important;color:var(--color-midnight)!important}
body :is(.activation-primary,.confirm-identity,.save-action,.stamp-in,.stamp-out){background-color:var(--color-midnight)!important;border-color:var(--color-midnight)!important;color:var(--color-paper)!important}
body :is(.journey-entry,.stamp-break,.brand-sunrise),body .activation-copy li.current b{background-color:var(--color-sunrise)!important;border-color:var(--color-sunrise)!important;color:var(--color-on-sunrise)!important}
body :is(.review-badge,.status-review){background-color:var(--color-review)!important;color:var(--color-on-review)!important}
body :is(.form-message.success,.activation-success,.status-working){background-color:var(--color-success)!important;color:var(--color-on-success)!important}
body :is(.review-badge,.status-review,.form-message.success,.activation-success,.status-working) :is(strong,span,small,p,b){color:inherit!important}
body :is(.form-message.error,.activation-message,.identity-error,.validation-message){background-color:var(--color-critical)!important;color:var(--color-on-critical)!important}
body :is(button,input,select,textarea):disabled{background-color:var(--color-disabled)!important;border-color:var(--color-line)!important;color:var(--color-disabled-text)!important}
