:root{--color-midnight:#173568;--color-midnight-bright:#1b3f73;--gradient-midnight:linear-gradient(125deg,var(--color-midnight) 0%,var(--color-midnight-bright) 58%,var(--color-midnight) 100%);--color-sunrise:#f2be3e;--color-sunrise-deep:#efb83a;--color-ochre:var(--color-sunrise);--color-on-sunrise:#332813;--color-morning:#faf9f6;--color-card:#fff;--color-line:#e8e1d2;--color-table-hover:#eaf0f7;--color-text:#173568;--color-muted:#756f66;--color-warning:var(--color-sunrise);--color-on-warning:#332813;--color-review:var(--color-sunrise);--color-leitbild:#75658a;--color-on-leitbild:var(--color-morning);--color-on-review:var(--color-on-sunrise);--color-success:#4f7a5a;--color-on-success:var(--color-morning);--color-critical:#9b3b2e;--color-on-critical:var(--color-morning);--color-disabled:#f1ede4;--color-disabled-text:#9a9285}*{box-sizing:border-box}html{font-family:Manrope,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{background:var(--color-morning);color:var(--color-text);margin:0}button,input,select,textarea{font:inherit}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}.blazor-error-boundary::after{content:"Ein unerwarteter Fehler ist aufgetreten."}

:is(button,select,input[type="date"],input[type="month"],input[type="time"],input[type="datetime-local"],input[type="file"],input[type="checkbox"],input[type="radio"]):not(:disabled):not([aria-disabled="true"]):not([readonly]){cursor:pointer}
label:has(input:is([type="checkbox"],[type="radio"]):not(:disabled)){cursor:pointer}
:is(button,select,input[type="date"],input[type="month"],input[type="time"],input[type="datetime-local"],input[type="file"],input[type="checkbox"],input[type="radio"]){transition:filter .15s ease,box-shadow .15s ease,border-color .15s ease}
@media(hover:hover) and (pointer:fine){
 button:not(:disabled):not([aria-disabled="true"]):hover{filter:brightness(1.08);box-shadow:0 6px 16px rgba(23,42,70,.18)}
 :is(select,input[type="date"],input[type="month"],input[type="time"],input[type="datetime-local"],input[type="file"],input[type="checkbox"],input[type="radio"]):not(:disabled):not([readonly]):hover{border-color:var(--color-midnight-bright);box-shadow:0 0 0 3px rgba(23,53,104,.12)}
}
:is(input[type="date"],input[type="month"],input[type="time"],input[type="datetime-local"])::-webkit-calendar-picker-indicator{cursor:pointer}
:is(button,select,input[type="date"],input[type="month"],input[type="time"],input[type="datetime-local"],input[type="file"],input[type="checkbox"],input[type="radio"]):focus-visible{outline:3px solid var(--color-sunrise);outline-offset:2px}
@media(prefers-reduced-motion:reduce){:is(button,select,input[type="date"],input[type="month"],input[type="time"],input[type="datetime-local"],input[type="file"],input[type="checkbox"],input[type="radio"]){transition:none}}

/* Workbar controls use normal weight; page headings, KPI values and table totals keep their own emphasis. */
:is([data-sticky-workbar],.actual-toolbar,.analysis-toolbar,.ingredient-toolbar,.tax-toolbar,.cost-toolbar,.suppression-toolbar,.input-toolbar,.account-toolbar,.work-toolbar,.recipe-toolbar,.coverage-toolbar,.inbox-toolbar,.employee-toolbar,.mapping-toolbar,.absence-toolbar,.schedule-toolbar){--workbar-control-weight:400}

/* Custom workbar dropdowns match the blue hover frame of native selection fields. */
:is([data-sticky-workbar],.actual-toolbar,.analysis-toolbar,.ingredient-toolbar,.tax-toolbar,.cost-toolbar,.suppression-toolbar,.input-toolbar,.account-toolbar,.work-toolbar,.recipe-toolbar,.coverage-toolbar,.inbox-toolbar,.employee-toolbar,.mapping-toolbar,.absence-toolbar,.schedule-toolbar) :is(button[aria-expanded],.config-trigger,.filter-trigger,.menu-trigger,.analysis-config-trigger,.sort-trigger,.toolbar-trigger,.toolbar-button):not(:disabled):hover{border-color:var(--color-midnight-bright);box-shadow:0 0 0 3px rgba(23,53,104,.12)}

input.pay-group-input:read-only{background:var(--color-disabled);color:var(--color-muted);cursor:default}

/* Shared table-row hover; status badges retain their semantic colors. */
@media(hover:hover){:where(table>tbody>tr:not(.detail-row):not(.expansion-row):not(.hy-expanded):not(.employee-details-row):hover)>:where(td,th){background-color:var(--color-table-hover)}}

/* All four work tools use the full visual viewport on phones. The shared
   viewport variables also keep their close buttons reachable after pinch zoom
   or when the on-screen keyboard reduces the visible height. */
@media(max-width:720px){
    :is(#nordstern-calendar,#nordstern-feedback,#nordstern-notes,#nordstern-settings,#quick-search){
        inset:0 auto auto 0;
        width:var(--mobile-viewport-width,100%);
        height:var(--mobile-viewport-height,100dvh);
        max-width:none;
        max-height:none;
        min-width:0;
        border:0;
        border-radius:0;
        box-shadow:none;
        transform-origin:top left;
        transform:translate(var(--mobile-viewport-left,0px),var(--mobile-viewport-top,0px)) scale(var(--mobile-viewport-inverse-scale,1));
        transition:none;
        overflow:hidden;
        overscroll-behavior:contain;
    }
    :is(#nordstern-calendar,#nordstern-feedback,#nordstern-notes,#nordstern-settings,#quick-search)>header{
        flex-shrink:0;
        padding:max(.75rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .75rem max(1rem,env(safe-area-inset-left));
    }
    :is(#nordstern-calendar,#nordstern-feedback,#nordstern-notes,#nordstern-settings,#quick-search)>header button{
        width:44px;height:44px;flex-shrink:0;
    }
    :is(#nordstern-calendar,#nordstern-feedback,#nordstern-notes,#nordstern-settings,#quick-search)>:is(.calendar-scroll,.feedback-scroll,.notes-scroll,.settings-scroll,.quick-search-body,.planner-evaluation){
        flex:1;
        min-height:0;
        overflow-y:auto;
        overscroll-behavior:contain;
        padding-bottom:max(1rem,env(safe-area-inset-bottom));
    }
    :is(#nordstern-calendar,#nordstern-feedback,#nordstern-notes,#nordstern-settings,#quick-search) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){font-size:16px}
    body:has(.app-shell :is(#nordstern-calendar,#nordstern-feedback,#nordstern-notes,#nordstern-settings,#quick-search).is-open){overflow:hidden}
}

/* Shared handles for movable detail popovers. */
[data-draggable-dialog][popover]>[data-dialog-drag-handle]{cursor:grab;touch-action:none;user-select:none}
[data-draggable-dialog][popover]>[data-dialog-drag-handle]:active{cursor:grabbing}
[data-draggable-dialog][popover]>[data-dialog-drag-handle]:focus-visible{outline:2px solid var(--color-midnight);outline-offset:3px;border-radius:5px}

[data-draggable-dialog][popover]{overflow:auto;min-width:min(300px,calc(100vw - 16px));min-height:min(160px,calc(100dvh - 16px));max-width:calc(100vw - 16px)}

.dialog-resize-handle{position:absolute;right:2px;bottom:2px;z-index:10;width:24px;height:24px;padding:3px;border:0;border-radius:4px;background:var(--color-card,#fff);color:var(--color-muted);cursor:nwse-resize;touch-action:none;user-select:none;display:flex;align-items:center;justify-content:center}
.dialog-resize-handle:hover{color:var(--color-midnight);background:var(--color-table-hover)}
.dialog-resize-handle:focus-visible{outline:2px solid var(--color-midnight);outline-offset:-2px}
