/*
 * BusinessSuite Premium Theme
 *
 * This file intentionally sits on top of the original styles. Removing the
 * link to this file in App.razor restores the previous visual design.
 */

:root {
    --bs-navy-950: #071a33;
    --bs-navy-900: #092748;
    --bs-navy-800: #10385f;
    --bs-blue-700: #0759d3;
    --bs-blue-600: #0b67e8;
    --bs-blue-100: #eaf3ff;
    --bs-blue-50: #f4f8ff;
    --bs-teal-700: #087b7f;
    --bs-teal-100: #e6f8f6;
    --bs-green-700: #087545;
    --bs-green-100: #e9f8ef;
    --bs-amber-700: #9a6700;
    --bs-amber-100: #fff5d8;
    --bs-red-700: #b3261e;
    --bs-red-100: #fff0ee;
    --bs-ink: #0d1b35;
    --bs-ink-soft: #52647d;
    --bs-muted: #708098;
    --bs-line: #d9e3ee;
    --bs-line-strong: #c7d4e2;
    --bs-canvas: #f4f7fb;
    --bs-panel: #ffffff;
    --bs-panel-soft: #f8fafd;
    --bs-radius: 12px;
    --bs-shadow: 0 8px 24px rgba(16, 48, 84, .055);
    font-family: "Segoe UI Variable", "Aptos", Inter, system-ui, -apple-system, sans-serif;
    color: var(--bs-ink);
    background: var(--bs-canvas);
    font-synthesis: none;
}

* { scrollbar-color: #aebed0 transparent; }
html { background: var(--bs-canvas); }
body { background: var(--bs-canvas); color: var(--bs-ink); letter-spacing: -.008em; }
button, input, select, textarea { font-family: inherit; }

.shell {
    grid-template-columns: 224px minmax(0, 1fr);
    background: var(--bs-canvas);
}

.nav {
    z-index: 80;
    gap: 4px;
    padding: 18px 14px;
    background: var(--bs-navy-950);
    color: #fff;
    border-right: 1px solid rgba(255, 255, 255, .06);
    box-shadow: 8px 0 28px rgba(7, 26, 51, .08);
}

.nav a {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 8px;
    padding: 10px 12px;
    color: #dce9f8;
    font-size: .92rem;
    font-weight: 560;
    transition: color .15s ease, background-color .15s ease, transform .15s ease;
}

.nav a:hover {
    background: rgba(255, 255, 255, .08);
    color: #fff;
    transform: translateX(1px);
}

.nav a.active {
    position: relative;
    background: var(--bs-blue-700);
    color: #fff;
    box-shadow: 0 8px 18px rgba(0, 67, 171, .28);
}

.nav a.active::after {
    content: "";
    position: absolute;
    inset: 8px auto 8px -14px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: #53c8ff;
}

.nav a.brand {
    min-height: 48px;
    gap: 10px;
    margin: 0 4px 15px;
    padding: 2px 0 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .11);
    color: #fff;
    font-size: .88rem;
    letter-spacing: .08em;
}

.brand-mark {
    width: 24px;
    height: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
    flex: 0 0 auto;
}

.brand-mark i { border-radius: 3px; background: #18a4f0; }
.brand-mark i:nth-child(2), .brand-mark i:nth-child(3) { background: #77d7ff; }

.nav-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background: currentColor;
    -webkit-mask: var(--nav-icon) center / contain no-repeat;
    mask: var(--nav-icon) center / contain no-repeat;
    opacity: .96;
}

.nav-icon-home { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 9 8-1.4 1.5L18 10v10a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V10l-1.6 1.5L3 10l9-8Zm0 2.7-4 3.6V20h3v-6h2v6h3V8.3l-4-3.6Z'/%3E%3C/svg%3E"); }
.nav-icon-calendar { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h2a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2V2Zm12 8H5v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-9ZM6 6a1 1 0 0 0-1 1v1h14V7a1 1 0 0 0-1-1H6Z'/%3E%3C/svg%3E"); }
.nav-icon-document, .nav-icon-clipboard { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h8l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm7 2H6v16h11V8h-4V4Zm-4 7h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E"); }
.nav-icon-list { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm4 1h13v2H8V6ZM4 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm4 1h13v2H8v-2ZM4 15a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm4 1h13v2H8v-2Z'/%3E%3C/svg%3E"); }
.nav-icon-box { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L6 7.6l6 3.3 6-3.3-6-3.3ZM5 9.3v6.5l6 3.3v-6.5L5 9.3Zm8 9.8 6-3.3V9.3l-6 3.3v6.5Z'/%3E%3C/svg%3E"); }
.nav-icon-bars { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 13h4v8H3v-8Zm7-5h4v13h-4V8Zm7-5h4v18h-4V3Z'/%3E%3C/svg%3E"); }
.nav-icon-chart { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 2a10 10 0 1 0 10.8 9H13V2h-2Zm0 18a8 8 0 0 1 0-15.7V13h8.7A8 8 0 0 1 11 20Zm4-18.8V9h7.8A10 10 0 0 0 15 1.2Z'/%3E%3C/svg%3E"); }
.nav-icon-database { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C6.5 2 3 4 3 6.5v11C3 20 6.5 22 12 22s9-2 9-4.5v-11C21 4 17.5 2 12 2Zm0 2c4.5 0 7 1.5 7 2.5S16.5 9 12 9 5 7.5 5 6.5 7.5 4 12 4Zm0 7c3 0 5.5-.7 7-1.8v3.3c0 1-2.5 2.5-7 2.5s-7-1.5-7-2.5V9.2C6.5 10.3 9 11 12 11Zm0 9c-4.5 0-7-1.5-7-2.5v-2.3c1.5 1.1 4 1.8 7 1.8s5.5-.7 7-1.8v2.3c0 1-2.5 2.5-7 2.5Z'/%3E%3C/svg%3E"); }
.nav-icon-people { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm6.5-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM9 13c-4.4 0-7 2.2-7 5v2h14v-2c0-2.8-2.6-5-7-5Zm7.2-.8c2.9.5 4.8 2.3 4.8 4.8v2h-3v-1c0-2-.7-3.8-1.8-5.1v-.7Z'/%3E%3C/svg%3E"); }

.nav-master-data {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.nav-master-data summary {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 8px;
    padding: 10px 12px;
    color: #dce9f8;
    font-size: .76rem;
    letter-spacing: .08em;
}

.nav-master-data summary::after { margin-left: auto; }
.nav-master-data a { min-height: 38px; margin-left: 31px; padding: 7px 10px; font-size: .82rem; }
.nav-master-data a.active::after { left: -45px; }

main header {
    position: sticky;
    top: 0;
    z-index: 60;
    height: 68px;
    padding: 0 30px;
    border-bottom: 1px solid var(--bs-line);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 2px 10px rgba(15, 44, 75, .035);
}

.suite-heading strong { font-size: .98rem; letter-spacing: -.015em; }
.phase { position: relative; margin-left: 14px; padding-left: 15px; color: var(--bs-muted); }
.phase::before { content: ""; position: absolute; left: 0; top: 1px; width: 1px; height: 18px; background: var(--bs-line-strong); }
.account { color: var(--bs-ink-soft); }
.account::before { content: "●"; color: var(--bs-muted); font-size: .64rem; }
.login-link, .link-button, .text-action { color: var(--bs-blue-700); }

.content { width: 100%; max-width: 1720px; padding: 26px 30px 36px; }

h1, h2, h3, strong { color: var(--bs-ink); }
h1 { letter-spacing: -.035em; }
h1[tabindex="-1"]:focus { outline: none; }

.page-heading h1,
.daily-cost-heading h1,
.order-compact-heading h1,
.analysis-heading h1,
.self-cost-heading h1,
.storage-heading h1,
.gk-heading h1 {
    font-size: 2rem;
    line-height: 1.06;
}

.daily-cost-heading>div,
.order-title-group { display: grid; gap: 4px; }
.daily-cost-heading p,
.order-title-group p { margin: 0; color: var(--bs-muted); font-size: .85rem; }

.panel,
.cards article,
.placeholder,
.auth-card,
.gk-automation-strip {
    border-color: var(--bs-line);
    border-radius: var(--bs-radius);
    background: var(--bs-panel);
    box-shadow: var(--bs-shadow);
}

.panel { padding: 18px; }
.panel-heading { margin-bottom: 14px; }
.panel-heading h2, .subsection-heading h2 { font-size: 1.08rem; letter-spacing: -.018em; }
.count-badge { background: #edf3f9; color: var(--bs-ink-soft); font-variant-numeric: tabular-nums; }

.primary-button {
    min-height: 42px;
    border: 1px solid var(--bs-blue-700);
    border-radius: 8px;
    background: var(--bs-blue-700);
    color: #fff;
    box-shadow: 0 7px 15px rgba(7, 89, 211, .17);
    transition: background-color .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.primary-button:hover { background: #064bb7; border-color: #064bb7; transform: translateY(-1px); box-shadow: 0 9px 18px rgba(7, 89, 211, .22); }
.primary-button:active { transform: translateY(0); }
.primary-button:disabled { opacity: .55; transform: none; box-shadow: none; }

.secondary-button,
.tool-button {
    border-color: var(--bs-line-strong);
    border-radius: 8px;
    background: #fff;
    color: var(--bs-ink);
    box-shadow: none;
    transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}

.secondary-button:hover,
.tool-button:hover { border-color: #7ca8d6; background: var(--bs-blue-50); color: var(--bs-blue-700); }
.tool-button.active { border-color: #73a8e9; background: var(--bs-blue-100); color: var(--bs-blue-700); box-shadow: inset 0 0 0 1px rgba(11, 103, 232, .04); }

.field input,
.field textarea,
.field select,
.worksheet-filters select,
.worksheet-filters input,
.gk-filter-fields input,
.gk-filter-fields select,
.storage-filters select,
.analysis-project-filter select,
.analysis-period-controls input,
.month-picker input,
.storage-month-navigation input,
.daily-filter input {
    border-color: var(--bs-line-strong);
    border-radius: 8px;
    color: var(--bs-ink);
    background: #fff;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.field input:focus,
.field textarea:focus,
.field select:focus,
.worksheet-filters select:focus,
.worksheet-filters input:focus,
.gk-filter-fields input:focus,
.gk-filter-fields select:focus,
.storage-filters select:focus,
.analysis-project-filter select:focus,
.analysis-period-controls input:focus,
.daily-filter input:focus {
    border-color: var(--bs-blue-600);
    box-shadow: 0 0 0 3px rgba(11, 103, 232, .12);
}

input[type="checkbox"] { accent-color: var(--bs-blue-600); }
.field span, .field>span:first-child { color: var(--bs-ink); font-weight: 650; }
.muted, small, .form-hint { color: var(--bs-muted); }

.status-message.success { border-color: #a8dec0; background: var(--bs-green-100); color: var(--bs-green-700); }
.status-message.error { border-color: #f0b7b2; background: var(--bs-red-100); color: var(--bs-red-700); }
.status-pill, .stat-chip { font-weight: 700; letter-spacing: .005em; }
.status-pill.active, .stat-chip.clear { background: var(--bs-green-100); color: var(--bs-green-700); }
.status-pill.draft { background: var(--bs-amber-100); color: var(--bs-amber-700); }
.stat-chip.conflict { background: var(--bs-red-100); color: var(--bs-red-700); }

.data-table th,
.order-table th,
.worksheet-table th,
.storage-table th,
.self-cost-table th,
.special-work-table th,
.daily-finance-table th,
.analysis-project-table th,
.gk-table th {
    background: #f3f6fa;
    color: #53647a;
    font-size: .7rem;
    font-weight: 760;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.data-table td,
.order-table td,
.worksheet-table td,
.storage-table td,
.self-cost-table td,
.special-work-table td,
.daily-finance-table td,
.analysis-project-table td,
.gk-table td { border-color: #e3eaf2; }

/* Tageskosten */
.daily-cost-heading { margin: 0 0 14px; }
.daily-cost-heading .primary-button::before { content: "+"; margin-right: 7px; font-size: 1.18rem; font-weight: 400; }
.daily-filter {
    min-height: 58px;
    gap: 8px;
    margin-bottom: 16px;
    padding: 10px 14px;
    border-color: var(--bs-line);
    border-radius: var(--bs-radius);
    background: var(--bs-panel);
    box-shadow: var(--bs-shadow);
}
.daily-filter .daily-period-label { padding-left: 22px; color: var(--bs-ink-soft); }
.daily-cost-page .quick-entry-grid { grid-template-columns: minmax(360px, .85fr) minmax(650px, 1.55fr); gap: 16px; }
.daily-cost-page .panel { padding: 18px; }
.daily-cost-page h2 { font-size: 1.12rem; }
.daily-cost-page .panel-heading h2::before { display: inline-block; margin-right: 9px; color: var(--bs-blue-600); font-weight: 400; }
.daily-cost-page .list-panel .panel-heading h2::before { content: "▣"; }
.daily-cost-page .quick-entry-editor .panel-heading h2::before { content: "✎"; }
.daily-day-group { border-color: var(--bs-line); border-radius: 10px; }
.daily-day-group.day-tone-a, .daily-day-group.day-tone-b { background: #fff; border-color: var(--bs-line); }
.daily-day-group:first-child { border-color: #9cc5f2; box-shadow: 0 0 0 2px rgba(11, 103, 232, .045); }
.daily-day-header { padding: 10px 12px; border-color: #e2eaf3; background: #f7faff; }
.daily-day-header strong { color: var(--bs-ink); font-size: .86rem; }
.daily-day-header span { color: var(--bs-ink-soft); }
.daily-list-head, .daily-record { padding-left: 12px; padding-right: 12px; }
.daily-list-head { color: var(--bs-muted); text-transform: uppercase; letter-spacing: .035em; }
.daily-record:hover { background: var(--bs-blue-50); }
.daily-record.selected { background: #eef6ff !important; box-shadow: inset 3px 0 0 var(--bs-blue-600); }
.daily-editor-layout { grid-template-columns: minmax(390px, 1.35fr) minmax(230px, .7fr); gap: 14px; }
.daily-vehicle-picker { border-color: var(--bs-line); background: var(--bs-panel-soft); }
.daily-cost-page .quick-entry-summary { border: 1px solid #c9e9e8; background: var(--bs-teal-100); color: var(--bs-teal-700); }
.daily-cost-page .quick-entry-summary strong { color: #07595d; font-size: .94rem; }

/* Aufträge */
.order-compact-heading { min-height: 58px; margin: 0 0 14px; }
.order-compact-heading h1 { font-size: 2rem; }
.order-title-group { min-width: max-content; }
.order-heading-actions { margin-left: auto; }
.order-plan-panel { border-radius: var(--bs-radius); box-shadow: var(--bs-shadow); }
.order-plan-panel>.order-toolbar { gap: 10px; padding: 11px 14px; border-bottom: 1px solid var(--bs-line); background: #fff; }
.order-plan-panel .period-display { border-color: var(--bs-line-strong); background: #fff; }
.order-plan-panel>.order-statistics { padding: 10px 14px; border-bottom: 1px solid var(--bs-line); background: #f8fafd; }
.order-plan-panel .stat-chip { padding: 5px 10px; background: #edf3f9; color: var(--bs-ink-soft); }
.order-table th, .order-table td { padding-top: 11px; padding-bottom: 11px; }
.order-table tbody tr { transition: background-color .12s ease, box-shadow .12s ease; }
.order-table tbody tr:hover { background: var(--bs-blue-50); }
.order-table tbody tr.order-printed, .order-table tbody tr.printed { background: #effaf3; }
.order-edit-link strong { color: var(--bs-ink); }
.order-edit-link .edit-hint { color: var(--bs-blue-700); }
.event-marker, .favorite-marker { background: var(--bs-amber-100); color: var(--bs-amber-700); }
.order-editor { border-color: #b8d2ef; border-radius: var(--bs-radius); background: #f6f9fe; box-shadow: 0 10px 28px rgba(11, 73, 137, .08); }
.team-number-picker button[aria-pressed="true"], .team-number-picker .active { border-color: var(--bs-blue-600); background: var(--bs-blue-100); color: var(--bs-blue-700); }
.timeline-track i { border-color: var(--timeline-team-border, #5a9ff1); border-radius: 7px; box-shadow: 0 3px 8px rgba(18, 65, 114, .08); }

.order-hours-inline {
    border: 1px solid var(--bs-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}
.order-hours-inline .hours-values span { background: #f4f7fb; }
.order-finance-balance>summary { border-radius: 10px; }

/* Arbeitsscheine */
main:has(.worksheet-overview-page)>header { height: 68px; padding: 0 30px; font-size: inherit; }
.content:has(>.worksheet-overview-page) { max-width: 1720px; padding: 26px 30px 36px; }
.worksheet-overview-page .order-compact-heading { min-height: 58px; margin: 0 0 14px; }
.worksheet-overview-page .order-compact-heading h1 { font-size: 2rem; }
.worksheet-overview-page .order-title-group p { display: block; }
.worksheet-plan-panel { border-radius: var(--bs-radius); box-shadow: var(--bs-shadow); }
.worksheet-filter-bar { padding: 13px 14px 12px; background: #fbfcfe; }
.worksheet-filters { gap: 8px 10px; }
.worksheet-filters label { color: var(--bs-ink-soft); }
.worksheet-filters select, .worksheet-filters input { height: 36px; }
.worksheet-statistics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, max-content));
    gap: 8px;
    padding: 12px 14px 8px;
}
.worksheet-statistics .stat-chip { min-height: 34px; display: inline-flex; align-items: center; padding: 7px 12px; border: 1px solid var(--bs-line); background: #f6f9fc; color: var(--bs-ink-soft); }
.worksheet-statistics .worksheet-revenue-chip { border-color: #bfe7e3; background: var(--bs-teal-100); color: var(--bs-teal-700); }
.worksheet-section-title { padding: 15px 14px 11px; }
.worksheet-section-title h2 { font-size: 1.08rem; }
.worksheet-created-section { border-top: 10px solid var(--bs-canvas); }
.worksheet-table tbody tr:hover { background: var(--bs-blue-50); }
.worksheet-row-printed { background: #f0faf4; }
.worksheet-link { color: var(--bs-blue-700); font-weight: 760; }
.worksheet-activity-state.ready { background: var(--bs-green-100); color: var(--bs-green-700); }
.worksheet-activity-state.missing { background: var(--bs-amber-100); color: var(--bs-amber-700); }
.worksheet-revenue-chip, .worksheet-revenue-cell strong { font-variant-numeric: tabular-nums; }

/* Auswertung */
.analysis-heading { margin: 0 0 16px; }
.analysis-heading>div:first-child { gap: 12px; }
.analysis-totals { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.analysis-totals article {
    min-height: 108px;
    border-color: var(--bs-line);
    border-radius: var(--bs-radius);
    box-shadow: var(--bs-shadow);
}
.analysis-totals span { min-height: 2.1em; display: flex; align-items: end; justify-content: center; color: var(--bs-ink-soft); }
.analysis-totals strong { font-size: 1.16rem; font-variant-numeric: tabular-nums; letter-spacing: -.025em; }
.analysis-totals small { min-height: 2.6em; display: flex; align-items: start; justify-content: center; }
.analysis-totals article.revenue { border-color: #b9d7f4; background: #f1f7ff; }
.analysis-totals article.cost { border-color: #c6d5eb; background: #f0f4fb; }
.analysis-totals article.difference.positive { border-color: #b8dfc7; background: var(--bs-green-100); }
.analysis-totals article.difference.negative { border-color: #f0bab5; background: var(--bs-red-100); }
.analysis-comparison, .analysis-projects { padding: 20px 22px; }
.analysis-bar-track { height: 32px; border-radius: 8px; background: #eaf0f5; }
.analysis-bar { border-radius: 8px; }
.analysis-result { padding: 8px 12px; border-radius: 8px; background: #f5f8fb; font-variant-numeric: tabular-nums; }
.analysis-result.positive { background: var(--bs-green-100); }
.analysis-result.negative { background: var(--bs-red-100); }
.analysis-scope-note { background: #f7f9fc; }
.share-track i { background: var(--bs-blue-600); }

/* Lagerung */
.storage-heading { margin: 0 0 16px; }
.storage-heading>div:first-child { display: grid; gap: 4px; }
.storage-totals { gap: 12px; }
.storage-totals article { min-height: 98px; align-items: center; text-align: center; border-color: var(--bs-line); border-radius: var(--bs-radius); box-shadow: var(--bs-shadow); }
.storage-totals span { min-height: 1.2rem; color: var(--bs-ink-soft); }
.storage-totals strong { font-size: 1.28rem; font-variant-numeric: tabular-nums; }
.storage-totals .storage-revenue { border-color: #bfe7e3; background: var(--bs-teal-100); }
.storage-workspace { grid-template-columns: minmax(610px, 1.4fr) minmax(300px, .58fr); gap: 16px; }
.storage-editor, .storage-info-panel { box-shadow: var(--bs-shadow); }
.storage-price-preview { border: 1px solid #c9e9e8; background: var(--bs-teal-100); }
.storage-list-panel { box-shadow: var(--bs-shadow); }
.storage-list-toolbar { background: #fff; }
.storage-table tbody tr:hover { background: var(--bs-blue-50); }
.storage-rate-grid { background: #f5f8fb; }

/* GK-Aufträge, Selbstkosten und Stammdaten folgen derselben Designsprache. */
.gk-heading { margin-top: 0; }
.gk-drop-zone { border-color: #7caee0; border-radius: var(--bs-radius); background: #f5f9ff; }
.gk-panel { border-radius: var(--bs-radius); box-shadow: var(--bs-shadow); }
.gk-status-tabs a { border-color: var(--bs-line); background: #f5f8fb; }
.gk-status-tabs a.active { border-color: var(--bs-blue-700); background: var(--bs-blue-700); }
.gk-table tbody tr:nth-child(even) { background: #fafbfd; }
.gk-table tbody tr:hover { background: var(--bs-blue-50); }
.gk-pill.open, .gk-pill.review { background: var(--bs-amber-100); color: var(--bs-amber-700); }
.gk-pill.completed { background: var(--bs-green-100); color: var(--bs-green-700); }
.gk-switch.on { background: var(--bs-blue-600); }

.self-cost-heading { margin: 0 0 14px; }
.self-cost-totals { gap: 10px; }
.self-cost-totals article { min-height: 82px; border-color: var(--bs-line); border-radius: var(--bs-radius); box-shadow: var(--bs-shadow); }
.self-cost-totals .total { border-color: #b9d7f4; background: #f1f7ff; }
.self-cost-totals .revenue { border-color: #bfe7e3; background: var(--bs-teal-100); }
.daily-finance-panel, .automatic-cost-panel, .special-work-panel { box-shadow: var(--bs-shadow); }

.master-data-grid, .document-grid { gap: 16px; }
.record-row { border-color: var(--bs-line); border-radius: 9px; }
.record-row:hover, .record-row.selected { border-color: #8cb9ea; background: var(--bs-blue-50); }
.record-row.selected { box-shadow: inset 3px 0 0 var(--bs-blue-600); }
.nested-editor { border: 1px solid var(--bs-line); background: #f7f9fc; }

.empty-state { border-color: #c9d5e1; background: #fafbfd; color: var(--bs-muted); }

@media (max-width: 1350px) {
    .shell { grid-template-columns: 206px minmax(0, 1fr); }
    .content { padding-left: 22px; padding-right: 22px; }
    .analysis-totals { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .daily-cost-page .quick-entry-grid { grid-template-columns: minmax(320px, .75fr) minmax(560px, 1.35fr); }
}

@media (max-width: 1050px) {
    .analysis-totals { grid-template-columns: repeat(3, minmax(170px, 1fr)); }
    .daily-cost-page .quick-entry-grid { grid-template-columns: 1fr; }
    .daily-cost-page .quick-entry-editor { order: -1; }
    .storage-workspace { grid-template-columns: 1fr; }
    .worksheet-statistics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .shell { grid-template-columns: 1fr; }
    .shell > .nav {
        position: sticky;
        top: 0;
        height: auto;
        padding: 8px 10px;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 4px;
        box-shadow: 0 5px 18px rgba(7, 26, 51, .13);
        scrollbar-width: none;
    }
    .shell > .nav::-webkit-scrollbar { display: none; }
    .shell > .nav a { min-height: 42px; flex: 0 0 auto; white-space: nowrap; }
    .shell > .nav a.brand { width: auto; min-height: 42px; margin: 0 4px 0 0; padding: 3px 12px 3px 2px; border: 0; border-right: 1px solid rgba(255,255,255,.12); }
    .nav a.brand>span:last-child { display: none; }
    .nav a.active::after { inset: auto 8px -8px 8px; width: auto; height: 3px; border-radius: 3px 3px 0 0; }
    .nav-master-data { display: none; }
    main header { height: 56px; padding: 0 16px; }
    .content, .content:has(>.worksheet-overview-page) { padding: 18px 14px 28px; }
    .page-heading h1, .daily-cost-heading h1, .order-compact-heading h1, .analysis-heading h1, .self-cost-heading h1, .storage-heading h1, .gk-heading h1 { font-size: 1.6rem; }
    .daily-cost-heading, .order-compact-heading { align-items: stretch; flex-direction: column; }
    .daily-cost-page .quick-entry-grid { grid-template-columns: minmax(0, 1fr); }
    .daily-cost-page .list-panel,
    .daily-cost-page .quick-entry-editor { min-width: 0; }
    .daily-editor-layout { grid-template-columns: minmax(0, 1fr); }
    .daily-cost-page .time-quarter-fields { max-width: 100%; }
    .daily-vehicle-picker { display: grid; grid-template-columns: minmax(0, 1fr); }
    .daily-vehicle-picker p { grid-column: auto; }
    .order-title-group { min-width: 0; }
    .analysis-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .analysis-totals article { min-height: 100px; padding: 10px; }
    .analysis-totals strong { font-size: 1rem; white-space: normal; }
    .analysis-comparison, .analysis-projects { padding: 16px; }
    .daily-filter { align-items: stretch; }
    .daily-filter .daily-period-label { width: 100%; padding-left: 0; }
    .worksheet-overview-page .order-compact-heading { min-height: 0; align-items: stretch; flex-direction: column; }
    .worksheet-overview-page .order-compact-heading h1 { font-size: 1.6rem; }
    .worksheet-statistics { grid-template-columns: 1fr 1fr; }
    .storage-totals { grid-template-columns: 1fr 1fr; }
}

.access-management-grid .record-meta { align-items: end; text-align: right; }
.access-active { align-self: end; min-height: 48px; }
.access-role-hint { display: grid; gap: 4px; margin-top: 18px; padding: 14px 16px; border: 1px solid #cfe0f4; border-radius: 14px; background: #f3f8ff; color: #536882; }
.access-role-hint strong { color: #10253f; }

@media print {
    .nav, main>header { display: none !important; }
    .shell { display: block; }
    .content { max-width: none; padding: 0; }
}
