:root {
    --bg: #f5f7fb;
    --surface: #ffffff;
    --text: #18202f;
    --muted: #667085;
    --line: #d9e0ea;
    --primary: #2463eb;
    --primary-dark: #1d4ed8;
    --danger: #b42318;
    --success: #067647;
}

/* Sevkiyatçı ekranı ve 80 mm rulo çıktısı */
.shipping-theme {
    background: #f4efe5;
    color: #2c2118;
}

.shipping-theme .topbar {
    background: #322319;
    border-bottom: 0;
}

.shipping-theme .brand,
.shipping-theme .topbar nav a,
.shipping-theme .nav-link-button {
    color: #fff;
}

.shipping-theme .brand img {
    background: #d09a42;
}

.shipping-theme .container {
    margin-top: 0;
    max-width: 920px;
}

.shipping-workflow {
    padding-bottom: 40px;
}

.shipping-hero {
    background: linear-gradient(180deg, #e9d9b8 0%, #f4efe5 100%);
    margin: 0 -16px;
    padding: 34px 20px 28px;
}

.shipping-eyebrow {
    color: #96651d;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.shipping-hero h1 {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(38px, 8vw, 64px);
    line-height: .98;
    margin: 10px 0 14px;
}

.shipping-hero p {
    color: #6f6256;
    max-width: 620px;
}

.shipping-date {
    background: #fff;
    border: 1px solid #d7cbbb;
    border-radius: 999px;
    display: inline-flex;
    font-weight: 800;
    margin-top: 8px;
    padding: 10px 16px;
}

.shipping-metrics {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
    margin: 24px 0;
}

.shipping-metrics > div {
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 20px;
    padding: 20px;
}

.shipping-metrics strong,
.shipping-metrics span {
    display: block;
}

.shipping-metrics strong {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 34px;
}

.shipping-metrics span {
    color: #7a6f64;
    font-size: 12px;
    font-weight: 800;
    margin-top: 5px;
    text-transform: uppercase;
}

.shipping-controls {
    align-items: end;
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 22px;
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr 1fr auto;
    padding: 18px;
}

.shipping-controls label {
    color: #6f6256;
    font-size: 12px;
    font-weight: 800;
}

.shipping-controls input,
.shipping-controls select {
    margin-top: 6px;
    width: 100%;
}

.shipping-controls button {
    background: #322319;
    white-space: nowrap;
}

.shipping-report-controls [hidden],
.shipping-product-lines > div[hidden] {
    display: none !important;
}

.shipping-product-filter {
    position: relative;
}

.shipping-product-filter summary {
    align-items: center;
    background: #fff;
    border: 1px solid #d8dce5;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    justify-content: space-between;
    min-height: 44px;
    padding: 10px 12px;
}

.shipping-product-filter summary span {
    color: #9a6a21;
    font-size: 11px;
}

.shipping-product-filter > div {
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 12px;
    box-shadow: 0 12px 24px rgba(50, 35, 25, .15);
    display: grid;
    gap: 5px;
    left: 0;
    max-height: 300px;
    overflow: auto;
    padding: 10px;
    position: absolute;
    right: 0;
    top: calc(100% + 5px);
    z-index: 8;
}

.shipping-product-filter > div label {
    align-items: center;
    display: flex;
    gap: 8px;
    padding: 5px;
}

.shipping-product-filter input {
    margin: 0;
    width: auto;
}

.shipping-result-note {
    color: #7a6f64;
    font-size: 13px;
    margin: 12px 4px 18px;
}

.shipping-dealer-ticket {
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 22px;
    margin-bottom: 14px;
    overflow: hidden;
}

.shipping-dealer-ticket[hidden] {
    display: none;
}

.shipping-dealer-ticket > header {
    align-items: center;
    background: #f8f3eb;
    display: grid;
    gap: 14px;
    grid-template-columns: 42px 1fr;
    padding: 17px 20px;
}

.shipping-ticket-date {
    display: none;
}

.shipping-dealer-ticket > header > span {
    align-items: center;
    background: #c9933d;
    border-radius: 50%;
    color: #2c2118;
    display: flex;
    font-size: 12px;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.shipping-dealer-ticket h2 {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 24px;
    margin: 0;
}

.shipping-dealer-ticket header small {
    color: #7a6f64;
}

.shipping-product-lines {
    padding: 7px 20px;
}

.shipping-product-lines > div {
    align-items: center;
    border-bottom: 1px dashed #d8cec1;
    display: flex;
    gap: 15px;
    justify-content: space-between;
    padding: 11px 0;
}

.shipping-product-lines > div:last-child {
    border-bottom: 0;
}

.shipping-product-lines strong {
    font-size: 20px;
}

.shipping-dealer-ticket footer {
    border-top: 1px solid #eee5da;
    padding: 12px 20px 16px;
    text-align: right;
}

.shipping-empty,
.shipping-no-result {
    background: #fff;
    border: 1px dashed #cdbfae;
    border-radius: 20px;
    padding: 36px;
    text-align: center;
}

.shipping-empty strong,
.shipping-empty span {
    display: block;
}

.shipping-empty span {
    color: #7a6f64;
    margin-top: 6px;
}

.shipping-print-header {
    display: none;
}

.shipping-date-controls,
.shipping-report-controls {
    align-items: end;
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 22px;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin: 24px 0;
    padding: 18px;
}

.shipping-date-controls form,
.shipping-report-controls form {
    align-items: end;
    display: flex;
    flex: 1;
    gap: 12px;
}

.shipping-date-controls label,
.shipping-report-controls label {
    color: #6f6256;
    flex: 1;
    font-size: 12px;
    font-weight: 800;
}

.shipping-date-controls input,
.shipping-report-controls input,
.shipping-report-controls select {
    margin-top: 6px;
    width: 100%;
}

.shipping-date-controls button,
.shipping-report-controls button {
    background: #322319;
    white-space: nowrap;
}

.shipping-report-actions {
    align-items: center;
    display: flex;
    gap: 10px;
}

.shipping-report-ticket {
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 22px;
    margin-bottom: 18px;
    overflow: hidden;
}

.shipping-report-ticket > header {
    align-items: center;
    background: #f8f3eb;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 18px 20px;
}

.shipping-report-ticket h2,
.shipping-report-ticket h3 {
    color: #2c2118;
    margin: 0;
}

.shipping-report-ticket h2 {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 25px;
}

.shipping-report-ticket h3 {
    border-top: 1px solid #eee5da;
    font-size: 12px;
    letter-spacing: .08em;
    padding: 18px 20px 4px;
    text-transform: uppercase;
}

.shipping-report-ticket header span,
.shipping-report-ticket small {
    color: #7a6f64;
    display: block;
}

.shipping-report-lines,
.vehicle-dealer-lines {
    padding: 7px 20px 14px;
}

.shipping-report-lines > div,
.vehicle-dealer-lines > div {
    align-items: center;
    border-bottom: 1px dashed #d8cec1;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 11px 0;
}

.shipping-report-lines > div:last-child,
.vehicle-dealer-lines > div:last-child {
    border-bottom: 0;
}

.shipping-report-lines strong,
.vehicle-dealer-lines strong {
    font-size: 20px;
}

.vehicle-report-metrics {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
    padding: 14px 20px 0;
}

.vehicle-report-metrics span {
    background: #f4efe5;
    border-radius: 12px;
    color: #6f6256;
    padding: 10px 12px;
}

.product-delivery-head,
.product-delivery-lines > div {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(150px, 1.2fr) minmax(170px, 1fr) 70px;
}

.product-delivery-head {
    background: #f3ece1;
    color: #77695d;
    font-size: 11px;
    font-weight: 900;
    padding: 10px 18px;
    text-transform: uppercase;
}

.product-delivery-lines > div {
    border-bottom: 1px dashed #ded3c4;
    padding: 12px 18px;
}

.product-delivery-lines strong,
.product-delivery-ticket footer strong {
    font-size: 18px;
    text-align: right;
}

.product-delivery-ticket footer {
    align-items: center;
    background: #f8f3eb;
    display: flex;
    font-weight: 900;
    justify-content: space-between;
    padding: 14px 18px;
}

.vehicle-report-metrics strong {
    color: #2c2118;
    font-size: 18px;
}

.auto-return {
    color: #7a6f64;
    font-size: 13px !important;
    margin: 16px 0 0 !important;
}

@media (max-width: 720px) {
    .shipping-controls,
    .shipping-date-controls,
    .shipping-report-controls,
    .shipping-date-controls form,
    .shipping-report-controls form,
    .shipping-report-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .shipping-controls {
        grid-template-columns: 1fr;
    }

    .shipping-controls button,
    .shipping-date-controls button,
    .shipping-report-controls button,
    .shipping-report-actions .button {
        width: 100%;
        white-space: normal;
    }

    .shipping-metrics {
        grid-template-columns: repeat(3, 1fr);
    }

    .shipping-metrics > div {
        padding: 15px 10px;
    }

    .shipping-metrics strong {
        font-size: 28px;
    }
}

@media print {
    @page {
        size: 80mm auto;
        margin: 4mm;
    }

    @page shipping-lines-1 { size: 80mm 92mm; margin: 0; }
    @page shipping-lines-2 { size: 80mm 99mm; margin: 0; }
    @page shipping-lines-3 { size: 80mm 106mm; margin: 0; }
    @page shipping-lines-4 { size: 80mm 113mm; margin: 0; }
    @page shipping-lines-5 { size: 80mm 120mm; margin: 0; }
    @page shipping-lines-6 { size: 80mm 127mm; margin: 0; }
    @page shipping-lines-7 { size: 80mm 134mm; margin: 0; }
    @page shipping-lines-8 { size: 80mm 141mm; margin: 0; }
    @page shipping-lines-9 { size: 80mm 148mm; margin: 0; }
    @page shipping-lines-10 { size: 80mm 155mm; margin: 0; }
    @page shipping-lines-11 { size: 80mm 162mm; margin: 0; }
    @page shipping-lines-12 { size: 80mm 169mm; margin: 0; }
    @page shipping-lines-13 { size: 80mm 176mm; margin: 0; }
    @page shipping-lines-14 { size: 80mm 183mm; margin: 0; }
    @page shipping-lines-15 { size: 80mm 190mm; margin: 0; }
    @page shipping-lines-16 { size: 80mm 197mm; margin: 0; }
    @page shipping-lines-17 { size: 80mm 204mm; margin: 0; }
    @page shipping-lines-18 { size: 80mm 211mm; margin: 0; }
    @page shipping-lines-19 { size: 80mm 218mm; margin: 0; }
    @page shipping-lines-20 { size: 80mm 225mm; margin: 0; }
    @page shipping-lines-21 { size: 80mm 232mm; margin: 0; }
    @page shipping-lines-22 { size: 80mm 239mm; margin: 0; }
    @page shipping-lines-23 { size: 80mm 246mm; margin: 0; }
    @page shipping-lines-24 { size: 80mm 253mm; margin: 0; }
    @page shipping-lines-25 { size: 80mm 260mm; margin: 0; }
    @page shipping-lines-26 { size: 80mm 267mm; margin: 0; }
    @page shipping-lines-27 { size: 80mm 274mm; margin: 0; }
    @page shipping-lines-28 { size: 80mm 281mm; margin: 0; }
    @page shipping-lines-29 { size: 80mm 288mm; margin: 0; }
    @page shipping-lines-30 { size: 80mm 295mm; margin: 0; }
    @page shipping-lines-31 { size: 80mm 302mm; margin: 0; }
    @page shipping-lines-32 { size: 80mm 309mm; margin: 0; }
    @page shipping-lines-33 { size: 80mm 316mm; margin: 0; }
    @page shipping-lines-34 { size: 80mm 323mm; margin: 0; }
    @page shipping-lines-35 { size: 80mm 330mm; margin: 0; }
    @page shipping-lines-36 { size: 80mm 337mm; margin: 0; }
    @page shipping-lines-37 { size: 80mm 344mm; margin: 0; }
    @page shipping-lines-38 { size: 80mm 351mm; margin: 0; }
    @page shipping-lines-39 { size: 80mm 358mm; margin: 0; }
    @page shipping-lines-40 { size: 80mm 365mm; margin: 0; }

    body.shipping-theme {
        background: #fff;
        color: #000;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        width: 72mm;
    }

    .shipping-theme .container {
        margin: 0;
        max-width: none;
        width: 72mm;
    }

    body.printing-all-dealers.shipping-theme,
    body.printing-single-dealer.shipping-theme {
        margin: 0 !important;
        width: 80mm;
    }

    body.printing-all-dealers.shipping-theme .container,
    body.printing-single-dealer.shipping-theme .container {
        margin: 0 4mm;
        padding: 0 0 3mm;
        width: 72mm;
    }

    .shipping-print-header {
        border-bottom: 1px dashed #000;
        display: block;
        margin-bottom: 3mm;
        padding-bottom: 2mm;
        text-align: center;
    }

    .shipping-print-header strong,
    .shipping-print-header span,
    .shipping-print-header small {
        display: block;
    }

    .shipping-print-header strong {
        font-size: 14pt;
    }

    .shipping-ticket-list {
        width: 100%;
    }

    body.printing-all-dealers .shipping-print-header,
    body.printing-single-dealer .shipping-print-header {
        display: none !important;
    }

    .shipping-dealer-ticket {
        border: 0;
        border-bottom: 1px dashed #000;
        border-radius: 0;
        break-inside: avoid;
        display: block;
        margin: 0 0 3mm;
        padding: 0 0 3mm;
    }

    .shipping-dealer-ticket[hidden],
    .shipping-product-lines > div[hidden] {
        display: none !important;
    }

    body.printing-all-dealers .shipping-dealer-ticket:not([hidden]) {
        break-after: page;
        page-break-after: always;
    }

    body.printing-all-dealers .shipping-dealer-ticket.print-last-visible {
        break-after: auto;
        page-break-after: auto;
    }

    body.printing-single-dealer .shipping-dealer-ticket:not(.print-target) {
        display: none !important;
    }

    .shipping-dealer-ticket > header {
        background: #fff;
        display: block;
        padding: 0 0 1.5mm;
    }

    .shipping-dealer-ticket > header > span {
        display: none;
    }

    .shipping-ticket-date {
        display: block;
        font-size: 8pt;
        font-style: normal;
        margin-top: 1mm;
    }

    .shipping-dealer-ticket.shipping-print-lines-1 { page: shipping-lines-1; }
    .shipping-dealer-ticket.shipping-print-lines-2 { page: shipping-lines-2; }
    .shipping-dealer-ticket.shipping-print-lines-3 { page: shipping-lines-3; }
    .shipping-dealer-ticket.shipping-print-lines-4 { page: shipping-lines-4; }
    .shipping-dealer-ticket.shipping-print-lines-5 { page: shipping-lines-5; }
    .shipping-dealer-ticket.shipping-print-lines-6 { page: shipping-lines-6; }
    .shipping-dealer-ticket.shipping-print-lines-7 { page: shipping-lines-7; }
    .shipping-dealer-ticket.shipping-print-lines-8 { page: shipping-lines-8; }
    .shipping-dealer-ticket.shipping-print-lines-9 { page: shipping-lines-9; }
    .shipping-dealer-ticket.shipping-print-lines-10 { page: shipping-lines-10; }
    .shipping-dealer-ticket.shipping-print-lines-11 { page: shipping-lines-11; }
    .shipping-dealer-ticket.shipping-print-lines-12 { page: shipping-lines-12; }
    .shipping-dealer-ticket.shipping-print-lines-13 { page: shipping-lines-13; }
    .shipping-dealer-ticket.shipping-print-lines-14 { page: shipping-lines-14; }
    .shipping-dealer-ticket.shipping-print-lines-15 { page: shipping-lines-15; }
    .shipping-dealer-ticket.shipping-print-lines-16 { page: shipping-lines-16; }
    .shipping-dealer-ticket.shipping-print-lines-17 { page: shipping-lines-17; }
    .shipping-dealer-ticket.shipping-print-lines-18 { page: shipping-lines-18; }
    .shipping-dealer-ticket.shipping-print-lines-19 { page: shipping-lines-19; }
    .shipping-dealer-ticket.shipping-print-lines-20 { page: shipping-lines-20; }
    .shipping-dealer-ticket.shipping-print-lines-21 { page: shipping-lines-21; }
    .shipping-dealer-ticket.shipping-print-lines-22 { page: shipping-lines-22; }
    .shipping-dealer-ticket.shipping-print-lines-23 { page: shipping-lines-23; }
    .shipping-dealer-ticket.shipping-print-lines-24 { page: shipping-lines-24; }
    .shipping-dealer-ticket.shipping-print-lines-25 { page: shipping-lines-25; }
    .shipping-dealer-ticket.shipping-print-lines-26 { page: shipping-lines-26; }
    .shipping-dealer-ticket.shipping-print-lines-27 { page: shipping-lines-27; }
    .shipping-dealer-ticket.shipping-print-lines-28 { page: shipping-lines-28; }
    .shipping-dealer-ticket.shipping-print-lines-29 { page: shipping-lines-29; }
    .shipping-dealer-ticket.shipping-print-lines-30 { page: shipping-lines-30; }
    .shipping-dealer-ticket.shipping-print-lines-31 { page: shipping-lines-31; }
    .shipping-dealer-ticket.shipping-print-lines-32 { page: shipping-lines-32; }
    .shipping-dealer-ticket.shipping-print-lines-33 { page: shipping-lines-33; }
    .shipping-dealer-ticket.shipping-print-lines-34 { page: shipping-lines-34; }
    .shipping-dealer-ticket.shipping-print-lines-35 { page: shipping-lines-35; }
    .shipping-dealer-ticket.shipping-print-lines-36 { page: shipping-lines-36; }
    .shipping-dealer-ticket.shipping-print-lines-37 { page: shipping-lines-37; }
    .shipping-dealer-ticket.shipping-print-lines-38 { page: shipping-lines-38; }
    .shipping-dealer-ticket.shipping-print-lines-39 { page: shipping-lines-39; }
    .shipping-dealer-ticket.shipping-print-lines-40 { page: shipping-lines-40; }

    .shipping-dealer-ticket h2 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12pt;
        font-weight: 900;
    }

    .shipping-product-lines {
        padding: 0;
    }

    .shipping-product-lines > div {
        border-bottom: 1px dotted #777;
        break-inside: avoid;
        gap: 2mm;
        page-break-inside: avoid;
        padding: 1.2mm 0;
    }

    .shipping-product-lines strong {
        font-size: 11pt;
    }

    .shipping-report-ticket {
        border: 0;
        border-bottom: 1px dashed #000;
        border-radius: 0;
        margin: 0 0 3mm;
        overflow: visible;
        padding: 0 0 3mm;
    }

    .shipping-report-ticket > header {
        background: #fff;
        border-bottom: 1px solid #000;
        padding: 0 0 1.5mm;
    }

    .shipping-report-ticket h2 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12pt;
        font-weight: 900;
    }

    .shipping-report-ticket h3 {
        border-top: 1px solid #000;
        font-size: 9pt;
        padding: 2mm 0 1mm;
    }

    .shipping-report-lines,
    .vehicle-dealer-lines {
        padding: 0;
    }

    .shipping-report-lines > div,
    .vehicle-dealer-lines > div {
        border-bottom: 1px dotted #777;
        gap: 2mm;
        padding: 1.2mm 0;
    }

    .shipping-report-lines strong,
    .vehicle-dealer-lines strong {
        font-size: 11pt;
    }

    .vehicle-report-metrics {
        gap: 2mm;
        padding: 2mm 0 0;
    }

    .vehicle-report-metrics span {
        background: #fff;
        border: 1px solid #000;
        border-radius: 0;
        padding: 1.5mm;
    }

    .vehicle-report-ticket {
        break-after: page;
        break-inside: avoid-page;
        page-break-after: always;
        page-break-inside: avoid;
    }

    .vehicle-report-ticket:last-child {
        break-after: auto;
        page-break-after: auto;
    }

    .product-delivery-head,
    .product-delivery-lines > div {
        gap: 1.5mm;
        grid-template-columns: minmax(24mm, 1fr) minmax(25mm, 1fr) 10mm;
    }

    .product-delivery-head {
        background: #fff;
        border-bottom: 1px solid #000;
        font-size: 7pt;
        padding: 1mm 0;
    }

    .product-delivery-lines > div {
        border-bottom: 1px dotted #777;
        font-size: 8pt;
        padding: 1.2mm 0;
    }

    .product-delivery-lines strong,
    .product-delivery-ticket footer strong {
        font-size: 9pt;
    }

    .product-delivery-ticket footer {
        background: #fff;
        border-top: 1px solid #000;
        padding: 2mm 0 0;
    }

    .vehicle-dealer-heading,
    .vehicle-dealer-lines {
        display: none !important;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
}

a {
    color: var(--primary);
    text-decoration: none;
}

.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 24px;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 2;
}

.brand {
    color: var(--text);
    font-weight: 700;
}

.topbar nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.container {
    width: min(1180px, calc(100% - 32px));
    margin: 24px auto 48px;
}

.page-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 18px;
}

h1, h2, h3, p {
    margin-top: 0;
}

h1 {
    font-size: 28px;
    margin-bottom: 6px;
}

h2 {
    font-size: 20px;
}

.report-group-badge {
    background: #eaf0ff;
    border-radius: 999px;
    color: var(--primary-dark);
    display: inline-block;
    font-size: 12px;
    margin-left: 8px;
    padding: 6px 10px;
    vertical-align: middle;
}

.report-summary-line {
    color: var(--muted);
    margin: 0 0 14px;
}

.report-summary-line strong {
    color: var(--text);
}

.product-distribution-summary tbody td:last-child {
    color: var(--primary-dark);
    font-size: 1.05em;
}

h3 {
    font-size: 16px;
    margin: 18px 0 8px;
}

.login-box,
.panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 18px;
}

.login-box {
    max-width: 420px;
    margin: 60px auto;
}

.grid {
    display: grid;
    gap: 18px;
}

.grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid,
.filters {
    display: grid;
    gap: 12px;
}

.filters {
    grid-template-columns: repeat(4, max-content);
    align-items: end;
}

label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 14px;
}

input,
select,
button,
.button {
    min-height: 40px;
    border-radius: 6px;
    font: inherit;
}

input,
select {
    width: 100%;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--text);
    padding: 8px 10px;
}

button,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: var(--primary);
    color: #fff;
    padding: 8px 14px;
    cursor: pointer;
    font-weight: 600;
}

button:hover,
.button:hover {
    background: var(--primary-dark);
}

.secondary-action {
    background: #eef2f7;
    color: #344054;
}

.secondary-action:hover {
    background: #e4e9f2;
}

.danger-action {
    background: #d92d20;
}

.danger-action:hover {
    background: #b42318;
}

.button.secondary {
    background: #e8eefc;
    color: var(--primary-dark);
}

.button.secondary:hover {
    background: #dbe6ff;
}

.messages {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

.alert {
    border-radius: 8px;
    padding: 10px 12px;
    background: #edf7ed;
    color: var(--success);
    border: 1px solid #b7dfc0;
}

.alert.error {
    background: #fff1f0;
    color: var(--danger);
    border-color: #f4b8b2;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 16px;
}

.product-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
}

.product-image {
    display: grid;
    place-items: center;
    aspect-ratio: 4 / 3;
    background: #edf1f7;
    border-radius: 6px;
    color: var(--muted);
    margin-bottom: 12px;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-card h2 {
    margin-bottom: 4px;
}

.actions {
    margin: 18px 0 26px;
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 620px;
}

th,
td {
    border-bottom: 1px solid var(--line);
    padding: 10px;
    text-align: left;
    vertical-align: middle;
}

th {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.inline-form {
    display: flex;
    gap: 8px;
    align-items: center;
}

.editable-table input,
.editable-table select {
    min-width: 120px;
}

.row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 230px;
}

.row-actions form {
    margin: 0;
}

.row-actions button {
    min-height: 34px;
    padding: 6px 10px;
}

.inline-form select {
    min-width: 120px;
}

.hint {
    color: var(--muted);
    margin-top: 14px;
}

.edit-banner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.edit-banner p {
    margin: 0;
}

.order-detail-list {
    margin: 0;
    padding-left: 18px;
}

.muted-text {
    color: var(--muted);
}

.panel h2 span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 400;
    margin-left: 8px;
}

.menu-card {
    color: var(--text);
    display: block;
    min-height: 150px;
}

.menu-card:hover {
    border-color: var(--primary);
}

.menu-card p {
    color: var(--muted);
}

.missing-order td {
    background: #fff1f0;
    color: #9f1d15;
    font-weight: 600;
}

.order-lines {
    display: grid;
    gap: 10px;
}

.order-lines label {
    align-items: center;
    grid-template-columns: minmax(160px, 1fr) 90px;
    color: var(--text);
}

.order-lines label span {
    color: var(--muted);
    font-size: 12px;
}

.order-lines input {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.muted-row td {
    color: var(--muted);
}

.driver-bayi-table {
    min-width: 0;
}

.driver-bayi-table th,
.driver-bayi-table td {
    padding: 9px 8px;
}

.driver-bayi-table th:nth-child(1),
.driver-bayi-table td:nth-child(1) {
    width: 54%;
}

.driver-bayi-table th:nth-child(2),
.driver-bayi-table td:nth-child(2) {
    width: 22%;
}

.driver-bayi-table th:nth-child(3),
.driver-bayi-table td:nth-child(3) {
    width: 24%;
}

.driver-bayi-table .button {
    min-height: 34px;
    padding: 6px 8px;
    white-space: nowrap;
}

.bayi-name-link {
    color: inherit;
    display: inline-block;
    font-weight: 700;
}

.bayi-name-link:hover {
    color: var(--primary-dark);
    text-decoration: underline;
}

.entry-table input {
    min-width: 100px;
}

@media (max-width: 760px) {
    .topbar,
    .page-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .grid.two,
    .filters {
        grid-template-columns: 1fr;
    }

    .container {
        width: min(100% - 20px, 1180px);
        margin-top: 14px;
    }

    .inline-form {
        align-items: stretch;
        flex-direction: column;
    }

    .edit-banner {
        align-items: stretch;
        flex-direction: column;
    }

    .order-lines label {
        grid-template-columns: 1fr;
    }

    .order-lines input {
        grid-column: auto;
        grid-row: auto;
    }

    .driver-bayi-table {
        font-size: 13px;
    }

    .driver-bayi-table th,
    .driver-bayi-table td {
        padding: 8px 6px;
    }

    .driver-bayi-table .button {
        font-size: 12px;
        padding: 6px;
    }
}

/* Önceki gün siparişini aktarma */
.previous-order-action {
    align-items: center;
    background: #fffaf1;
    border: 1px solid #dfc79f;
    border-radius: 18px;
    box-shadow: 0 7px 22px rgba(92, 58, 20, .06);
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    margin: 16px 0;
    padding: 14px;
}

.previous-order-icon {
    align-items: center;
    background: #f2dfbd;
    border-radius: 13px;
    color: #8e560d;
    display: flex;
    font-size: 24px;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.previous-order-action > div strong,
.previous-order-action > div span {
    display: block;
}

.previous-order-action > div strong {
    color: #3a2b1f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
}

.previous-order-action > div span {
    color: #786957;
    font-size: 11px;
    line-height: 1.45;
    margin-top: 3px;
}

.previous-order-action form {
    margin: 0;
}

.dealer-theme .previous-order-action button,
.driver-theme .previous-order-action button {
    background: #b7751c;
    border-radius: 12px;
    color: #fff;
    font-size: 12px;
    min-height: 44px;
    padding: 9px 14px;
    white-space: nowrap;
}

.dealer-theme .previous-order-action button:hover,
.driver-theme .previous-order-action button:hover {
    background: #995f13;
}

@media (max-width: 700px) {
    .previous-order-action {
        align-items: start;
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .previous-order-action form {
        grid-column: 1 / -1;
    }

    .previous-order-action button {
        width: 100%;
    }
}

@media print {
    body {
        background: #fff;
        color: #000;
    }

    .topbar,
    .messages,
    .filters,
    .no-print {
        display: none !important;
    }

    .container {
        width: 100%;
        margin: 0;
    }

    .page-title {
        display: block;
        margin-bottom: 14px;
    }

    .panel {
        border: 0;
        border-radius: 0;
        padding: 0;
        margin-bottom: 18px;
        break-inside: avoid;
    }

    .table-wrap {
        overflow: visible;
    }

    table {
        min-width: 0;
        font-size: 12px;
    }

    th,
    td {
        border: 1px solid #999;
        padding: 6px;
    }
}

.brand {
    align-items: center;
    display: inline-flex;
    gap: 10px;
}

.brand img {
    background: #fff;
    border-radius: 12px;
    height: 42px;
    object-fit: contain;
    padding: 4px;
    width: 42px;
}

.topbar nav,
.nav-form {
    align-items: center;
    display: flex;
}

.nav-form {
    margin: 0;
}

.nav-link-button {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 8px 10px;
}

.login-shell {
    align-items: center;
    display: grid;
    gap: clamp(28px, 7vw, 96px);
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    min-height: calc(100vh - 180px);
}

.login-copy {
    max-width: 650px;
}

.login-copy h1 {
    font-size: clamp(42px, 6vw, 76px);
    letter-spacing: -.05em;
    line-height: .98;
    margin: 18px 0 24px;
}

.login-copy p {
    color: #675f52;
    font-size: 18px;
    line-height: 1.7;
    max-width: 560px;
}

.eyebrow {
    color: #9b6b20;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.back-link {
    color: #6f4a12;
    display: inline-block;
    font-weight: 700;
    margin-top: 24px;
}

.login-box {
    margin: 0;
    max-width: 460px;
    width: 100%;
}

.login-logo {
    display: block;
    height: 110px;
    margin: 0 auto 16px;
    object-fit: contain;
    width: 180px;
}

.login-box h2 {
    margin-bottom: 24px;
    text-align: center;
}

.pagination {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: center;
    margin-top: 20px;
}

.pagination span {
    color: #675f52;
    font-weight: 700;
}

@media (max-width: 820px) {
    .login-shell {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .login-copy {
        text-align: center;
    }

    .login-copy p {
        margin-inline: auto;
    }

    .login-box {
        justify-self: center;
    }

    .brand span {
        display: none;
    }

    .topbar nav {
        gap: 2px;
        overflow-x: auto;
    }
}

/* Şoför sipariş akışı */
.driver-theme {
    background: #f4efe5;
    color: #2c2118;
}

.driver-theme .topbar {
    background: #322319;
    border-bottom: 0;
    color: #fff;
}

.driver-theme .brand,
.driver-theme .topbar nav a,
.driver-theme .nav-link-button {
    color: #fff;
}

.driver-theme .brand img {
    background: #d09a42;
}

.driver-theme .container {
    margin-top: 0;
    max-width: 920px;
}

.driver-workflow {
    color: #2c2118;
    padding-bottom: 28px;
}

.workflow-steps {
    align-items: center;
    background: #322319;
    color: #bba991;
    display: flex;
    gap: 0;
    list-style: none;
    margin: 0 -16px;
    padding: 0 20px 20px;
}

.workflow-steps li {
    align-items: center;
    display: flex;
    font-size: 12px;
    white-space: nowrap;
}

.workflow-steps li:not(:last-child)::after {
    background: #715e4d;
    content: "";
    height: 1px;
    margin: 0 12px;
    width: 34px;
}

.workflow-steps .active {
    color: #f0bd65;
    font-weight: 800;
}

.driver-hero {
    background: linear-gradient(180deg, #efe3ca 0%, #f4efe5 100%);
    margin: 0 -16px;
    padding: 30px 20px 26px;
}

.driver-eyebrow,
.card-kicker {
    color: #96651d;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.driver-hero h1,
.confirmation-card h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 7vw, 50px);
    letter-spacing: -.035em;
    line-height: 1.02;
    margin: 8px 0 10px;
}

.driver-hero p {
    color: #6e6254;
    margin-bottom: 0;
}

.driver-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.driver-pills span,
.confirmation-date {
    background: #fff;
    border: 1px solid #dfd5c5;
    border-radius: 999px;
    color: #2c2118;
    font-size: 12px;
    font-weight: 800;
    padding: 8px 12px;
}

.driver-pills .closed {
    background: #fff0ec;
    border-color: #e9b7aa;
    color: #a23a27;
}

.driver-single-copy-form {
    margin: 0;
}

.driver-theme .driver-pills .driver-single-copy {
    background: #b7751c;
    border: 1px solid #b7751c;
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    min-height: 34px;
    padding: 8px 13px;
    white-space: nowrap;
}

.driver-theme .driver-pills .driver-single-copy:hover {
    background: #995f13;
    border-color: #995f13;
}

.driver-metrics {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
    margin: 4px 0 16px;
}

.driver-metrics > div {
    background: #fff;
    border: 1px solid #e3dbcf;
    border-radius: 17px;
    padding: 16px 14px;
}

.driver-metrics strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1;
}

.driver-metrics span {
    color: #857969;
    display: block;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    margin-top: 8px;
    text-transform: uppercase;
}

.driver-metrics .warning {
    background: #fff5e3;
    border-color: #edc879;
}

.driver-metrics .warning strong {
    color: #a65c0a;
}

.driver-metrics .success {
    background: #eef8f0;
    border-color: #bcdcc5;
}

.driver-metrics .success strong {
    color: #277144;
}

.driver-notice {
    align-items: center;
    border: 1px solid;
    border-radius: 16px;
    display: flex;
    gap: 8px 14px;
    justify-content: space-between;
    margin: 16px 0;
    padding: 13px 15px;
}

.driver-notice strong {
    font-size: 13px;
}

.driver-notice span {
    font-size: 11px;
}

.driver-notice.danger {
    background: #fff0e5;
    border-color: #efbd93;
    color: #87451d;
}

.driver-notice.success {
    background: #edf8f0;
    border-color: #b9ddc2;
    color: #286d41;
}

.driver-card {
    background: #fff;
    border: 1px solid #e4dcd0;
    border-radius: 20px;
    margin-bottom: 16px;
    overflow: hidden;
    padding: 18px;
}

.driver-card.compact {
    padding-bottom: 12px;
}

.driver-card-head {
    align-items: flex-end;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.driver-card-head h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    margin: 3px 0 0;
}

.driver-count {
    color: #786d60;
    font-size: 11px;
}

.driver-text-link,
.summary-dealer-card footer a {
    color: #975a0b;
    font-size: 12px;
    font-weight: 800;
}

.driver-dealer-list {
    display: grid;
    gap: 9px;
}

.driver-dealer-row {
    align-items: center;
    background: #fff;
    border: 1px solid #e8e0d5;
    border-radius: 14px;
    display: grid;
    gap: 11px;
    grid-template-columns: 36px minmax(0, 1fr) auto auto;
    padding: 11px;
}

.driver-dealer-row.return-focus {
    border-color: #b7751c;
    box-shadow: 0 0 0 4px rgba(183, 117, 28, .18), 0 12px 28px rgba(78, 50, 20, .14);
    scroll-margin-block: 30vh;
    transition: border-color 1.2s ease, box-shadow 1.2s ease;
}

.driver-dealer-row.return-focus.focus-complete {
    border-color: #e8e0d5;
    box-shadow: none;
}

.driver-dealer-row.return-focus.missing.focus-complete {
    border-color: #e8a695;
}

.driver-dealer-row.missing {
    background: #fff0ec;
    border-color: #e8a695;
}

.dealer-index {
    align-items: center;
    background: #f0eadf;
    border-radius: 11px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.missing .dealer-index {
    background: #f9dcd4;
    color: #a33b28;
}

.dealer-copy {
    min-width: 0;
}

.dealer-copy strong,
.dealer-copy span {
    display: block;
}

.dealer-copy strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dealer-copy span {
    color: #817568;
    font-size: 11px;
    margin-top: 2px;
}

.missing .dealer-copy span {
    color: #a33b28;
    font-weight: 700;
}

.dealer-status {
    background: #e9f5ec;
    border-radius: 999px;
    color: #277144;
    font-size: 10px;
    font-weight: 900;
    padding: 6px 8px;
}

.missing .dealer-status {
    background: #f9d8d0;
    color: #a33b28;
}

.driver-theme .driver-row-action,
.driver-theme .driver-primary,
.driver-theme .driver-form-actions button {
    background: #b7751c;
    color: #fff;
}

.driver-theme .driver-row-action:hover,
.driver-theme .driver-primary:hover,
.driver-theme .driver-form-actions button:hover {
    background: #995f13;
}

.driver-row-action {
    min-height: 34px;
    padding: 6px 10px;
    white-space: nowrap;
}

.driver-next {
    align-items: center;
    background: #2f241b;
    border-radius: 20px;
    color: #fff;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 18px;
}

.driver-next strong,
.driver-next span {
    display: block;
}

.driver-next span {
    color: #c9b9a7;
    font-size: 11px;
    margin-top: 3px;
}

.driver-order-form {
    display: grid;
    gap: 16px;
}

.driver-order-lines {
    gap: 8px;
}

.driver-order-lines label {
    background: #faf7f1;
    border: 1px solid #ebe2d6;
    border-radius: 12px;
    grid-template-columns: minmax(140px, 1fr) 90px 100px;
    padding: 9px 10px;
}

.driver-order-lines .product-name {
    color: #2c2118;
    font-size: 13px;
    font-weight: 700;
}

.driver-order-lines .product-unit {
    color: #817568;
    font-size: 11px;
}

.driver-order-lines input {
    border-color: #d9cdbd;
    grid-column: 3;
    grid-row: 1 / span 2;
    text-align: center;
}

.driver-order-lines .sandwich-package-line {
    grid-template-columns: minmax(140px, 1fr) minmax(118px, 150px) 100px;
}

.driver-order-lines .sandwich-package-line select {
    align-self: stretch;
    border-color: #d9cdbd;
    grid-column: 2;
    grid-row: 1 / span 2;
    min-width: 0;
}

.driver-form-actions {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1.4fr;
}

.driver-form-actions > * {
    min-height: 48px;
}

.driver-theme .driver-secondary {
    background: #eee7dc;
    color: #3d3024;
}

.driver-theme button:disabled,
.driver-theme input:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.driver-summary-section {
    margin-top: 22px;
}

.summary-heading {
    padding: 0 2px;
}

.summary-dealer-card {
    background: #fff;
    border: 1px solid #e4dcd0;
    border-radius: 18px;
    margin-bottom: 11px;
    overflow: hidden;
}

.summary-dealer-card.missing {
    background: #fff0ec;
    border-color: #e5a18f;
}

.summary-dealer-card header {
    align-items: center;
    display: grid;
    gap: 11px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: 14px;
}

.summary-dealer-card header div strong,
.summary-dealer-card header div span {
    display: block;
}

.summary-dealer-card header div strong {
    font-size: 14px;
}

.summary-dealer-card header div span {
    color: #817568;
    font-size: 11px;
    margin-top: 2px;
}

.summary-dealer-card header b {
    background: #e9f5ec;
    border-radius: 999px;
    color: #277144;
    font-size: 10px;
    padding: 6px 8px;
}

.summary-dealer-card.missing header b {
    background: #f8d6ce;
    color: #a33b28;
}

.driver-summary-lines {
    border-top: 1px solid #eee8df;
    padding: 7px 14px;
}

.driver-summary-lines > div {
    display: flex;
    font-size: 12px;
    gap: 14px;
    justify-content: space-between;
    padding: 7px 0;
}

.driver-summary-lines small {
    color: #817568;
}

.summary-dealer-card footer {
    align-items: center;
    border-top: 1px dashed #e3d5c4;
    color: #806c55;
    display: flex;
    font-size: 10px;
    justify-content: space-between;
    margin: 0 14px;
    padding: 11px 0;
}

.driver-confirm-form {
    margin-top: 20px;
}

.driver-confirm-check {
    align-items: flex-start;
    background: #2f241b;
    border-radius: 20px;
    color: #fff;
    display: flex;
    gap: 11px;
    margin-bottom: 13px;
    padding: 17px;
}

.driver-confirm-check input {
    accent-color: #c48a31;
    flex: 0 0 20px;
    height: 20px;
    margin: 1px 0 0;
    min-height: 0;
    width: 20px;
}

.driver-confirm-check strong,
.driver-confirm-check small {
    display: block;
}

.driver-confirm-check strong {
    color: #fff;
    font-size: 13px;
}

.driver-confirm-check small {
    color: #c9b9a7;
    font-size: 10px;
    margin-top: 4px;
}

.closed-help {
    color: #a33b28;
    font-size: 12px;
    margin: 10px 0 0;
    text-align: center;
}

.confirmation-page {
    min-height: calc(100vh - 90px);
}

.confirmation-card {
    background: #fff;
    border: 1px solid #e1d7c8;
    border-radius: 26px;
    margin: 28px auto 0;
    max-width: 680px;
    padding: clamp(28px, 7vw, 58px);
    text-align: center;
}

.confirmation-icon {
    align-items: center;
    background: #34764d;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 30px;
    font-weight: 900;
    height: 64px;
    justify-content: center;
    margin: 0 auto 22px;
    width: 64px;
}

.confirmation-card > p {
    color: #6e6254;
    margin: 0 auto 20px;
    max-width: 470px;
}

.confirmation-date {
    display: inline-block;
    margin-bottom: 20px;
}

.confirmation-card .driver-metrics {
    text-align: left;
}

.confirmation-note {
    background: #fff5e3;
    border: 1px solid #edc879;
    border-radius: 13px;
    color: #8b5d2a;
    font-size: 12px;
    margin-bottom: 18px;
    padding: 11px;
}

.driver-empty {
    color: #817568;
    margin: 12px 0;
    text-align: center;
}

@media (max-width: 700px) {
    .driver-theme .topbar {
        align-items: center;
        flex-direction: row;
        padding: 10px 14px;
    }

    .driver-theme .topbar nav {
        flex-wrap: nowrap;
    }

    .driver-theme .container {
        margin-bottom: 24px;
        width: min(100% - 20px, 920px);
    }

    .workflow-steps {
        margin-inline: -10px;
        padding-inline: 14px;
    }

    .workflow-steps li {
        font-size: 10px;
    }

    .workflow-steps li:not(:last-child)::after {
        margin-inline: 7px;
        width: 15px;
    }

    .driver-hero {
        margin-inline: -10px;
    }

    .driver-metrics > div {
        padding: 14px 10px;
    }

    .driver-metrics strong {
        font-size: 23px;
    }

    .driver-notice {
        align-items: flex-start;
        flex-direction: column;
    }

    .driver-card {
        padding: 14px;
    }

    .driver-dealer-row {
        grid-template-columns: 34px minmax(0, 1fr) auto;
    }

    .driver-dealer-row .dealer-status {
        display: none;
    }

    .driver-dealer-row .driver-row-action {
        grid-column: 2 / -1;
    }

    .driver-next {
        align-items: stretch;
        flex-direction: column;
    }

    .driver-order-lines label {
        align-items: center;
        grid-template-columns: minmax(0, 1fr) 88px;
    }

    .driver-order-lines input {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .driver-order-lines .sandwich-package-line {
        grid-template-columns: minmax(0, 1fr) 105px 82px;
    }

    .driver-order-lines .sandwich-package-line select {
        font-size: 12px;
        grid-column: 2;
        grid-row: 1 / span 2;
        padding-inline: 8px;
    }

    .driver-order-lines .sandwich-package-line input {
        grid-column: 3;
    }

    .summary-dealer-card header {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .summary-dealer-card header b {
        grid-column: 2;
        justify-self: start;
    }

    .driver-form-actions {
        grid-template-columns: 1fr;
    }
}

/* Giriş ve bayi sipariş deneyimi */
.sr-only {
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.dealer-theme,
.login-theme {
    background: #f4efe5;
    color: #2c2118;
}

.dealer-theme .topbar,
.login-theme .topbar {
    background: #322319;
    border-bottom: 0;
    color: #fff;
}

.dealer-theme .brand,
.dealer-theme .topbar nav a,
.dealer-theme .nav-link-button,
.login-theme .brand,
.login-theme .topbar nav a {
    color: #fff;
}

.dealer-theme .brand img,
.login-theme .brand img {
    background: #d09a42;
}

.dealer-theme .container {
    margin-top: 0;
    max-width: 1180px;
}

.dealer-workflow {
    padding-bottom: 32px;
}

.dealer-hero {
    background: linear-gradient(180deg, #efe3ca 0%, #f4efe5 100%);
    margin: 0 -16px;
    padding: 34px 20px 28px;
}

.dealer-eyebrow,
.login-kicker {
    color: #96651d;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dealer-hero h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 6vw, 52px);
    letter-spacing: -.04em;
    line-height: 1.02;
    margin: 8px 0 10px;
}

.dealer-hero p {
    color: #6e6254;
    margin: 0;
}

.dealer-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.dealer-pills span {
    background: #fff;
    border: 1px solid #dfd5c5;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    padding: 8px 12px;
}

.dealer-pills .closed {
    background: #fff0ec;
    border-color: #e9b7aa;
    color: #a23a27;
}

.dealer-notice {
    align-items: center;
    background: #fff0e5;
    border: 1px solid #efbd93;
    border-radius: 16px;
    color: #87451d;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 16px 0;
    padding: 13px 15px;
}

.dealer-notice strong {
    font-size: 13px;
}

.dealer-notice span {
    font-size: 11px;
}

.dealer-edit-banner {
    align-items: center;
    background: #fff;
    border: 1px solid #e1d5c5;
    border-radius: 16px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 16px 0;
    padding: 14px;
}

.dealer-edit-banner span,
.dealer-edit-banner strong {
    display: block;
}

.dealer-edit-banner span {
    color: #817568;
    font-size: 10px;
    text-transform: uppercase;
}

.dealer-edit-banner strong {
    margin-top: 3px;
}

.dealer-section-title {
    align-items: flex-end;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin: 24px 2px 14px;
}

.dealer-section-title h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    margin: 3px 0 0;
}

.dealer-section-title p {
    color: #786d60;
    font-size: 12px;
    margin: 0;
    text-align: right;
}

.dealer-product-grid {
    display: grid;
    gap: 13px;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

.dealer-product-card {
    background: #fff;
    border: 1px solid #e1d8cc;
    border-radius: 18px;
    box-shadow: 0 5px 18px rgba(70, 46, 22, .04);
    overflow: hidden;
    padding: 10px;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

.dealer-product-card.selected {
    border-color: #c48a31;
    box-shadow: 0 8px 24px rgba(153, 95, 19, .14);
    transform: translateY(-2px);
}

.dealer-product-image {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: linear-gradient(145deg, #f6efe3, #eee1ce);
    border-radius: 13px;
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.dealer-product-image img {
    height: 100%;
    object-fit: contain;
    padding: 4px;
    width: 100%;
}

.dealer-product-image > span:not(.selected-badge) {
    color: #8a7b68;
    font-size: 11px;
}

.selected-badge {
    background: #34764d;
    border-radius: 999px;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    opacity: 0;
    padding: 5px 7px;
    position: absolute;
    right: 7px;
    top: 7px;
    transform: translateY(-4px);
    transition: opacity .2s, transform .2s;
}

.dealer-product-card.selected .selected-badge {
    opacity: 1;
    transform: translateY(0);
}

.dealer-product-copy {
    min-height: 66px;
    padding: 11px 3px 7px;
}

.dealer-product-copy h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    line-height: 1.15;
    margin: 0 0 5px;
}

.dealer-product-copy p {
    color: #817568;
    font-size: 11px;
    margin: 0;
}

.dealer-quantity {
    align-items: center;
    background: #f5efe6;
    border-radius: 12px;
    display: grid;
    gap: 5px;
    grid-template-columns: 38px minmax(48px, 1fr) 38px;
    padding: 5px;
}

.dealer-quantity button,
.dealer-quantity input {
    border: 0;
    border-radius: 9px;
    height: 38px;
    min-height: 38px;
}

.dealer-quantity button {
    background: #fff;
    color: #80500f;
    font-size: 20px;
    padding: 0;
}

.dealer-quantity button:hover {
    background: #ead9be;
}

.dealer-quantity input {
    background: transparent;
    color: #2c2118;
    font-size: 16px;
    font-weight: 900;
    padding: 0 2px;
    text-align: center;
}

.dealer-order-bar {
    align-items: center;
    background: #2f241b;
    border: 1px solid #4b3a2c;
    border-radius: 20px;
    bottom: 12px;
    box-shadow: 0 14px 38px rgba(47, 36, 27, .24);
    color: #fff;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin: 18px 0 30px;
    padding: 16px 18px;
    position: sticky;
    z-index: 1;
}

.dealer-order-total span,
.dealer-order-total strong,
.dealer-order-total small {
    display: block;
}

.dealer-order-total span {
    color: #c9b9a7;
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dealer-order-total strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    margin-top: 2px;
}

.dealer-order-total strong b {
    color: #f0bd65;
    font-size: 24px;
}

.dealer-order-total small {
    color: #c9b9a7;
    font-size: 10px;
}

.dealer-order-bar button {
    background: #b7751c;
    min-height: 48px;
    padding-inline: 22px;
}

.dealer-order-bar button:hover {
    background: #995f13;
}

.dealer-theme button:disabled,
.dealer-theme input:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.dealer-history {
    margin-top: 34px;
}

.dealer-history-list {
    display: grid;
    gap: 11px;
}

.dealer-history-card {
    background: #fff;
    border: 1px solid #e1d8cc;
    border-radius: 17px;
    overflow: hidden;
    padding: 15px;
}

.dealer-history-card header,
.dealer-history-card footer {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.dealer-history-card header div span,
.dealer-history-card header div strong {
    display: block;
}

.dealer-history-card header div span {
    color: #817568;
    font-size: 10px;
}

.dealer-history-card header div strong {
    margin-top: 2px;
}

.dealer-history-card header > b {
    background: #e9f5ec;
    border-radius: 999px;
    color: #277144;
    font-size: 10px;
    padding: 6px 9px;
}

.history-products {
    border-bottom: 1px dashed #e1d8cc;
    border-top: 1px solid #eee8df;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    margin: 12px 0;
    padding: 11px 0;
}

.history-products span {
    color: #6e6254;
    display: flex;
    font-size: 11px;
    gap: 8px;
    justify-content: space-between;
}

.history-products strong {
    color: #2c2118;
}

.dealer-history-card footer > span {
    color: #817568;
    font-size: 10px;
}

.dealer-theme .dealer-secondary {
    background: #eee7dc;
    color: #3d3024;
}

.dealer-theme .dealer-secondary:hover {
    background: #e2d7c7;
}

.history-closed {
    color: #9a5b50 !important;
    font-weight: 800;
}

.dealer-empty-history {
    background: #fff;
    border: 1px dashed #d9c8af;
    border-radius: 17px;
    padding: 24px;
    text-align: center;
}

.dealer-empty-history strong,
.dealer-empty-history span {
    display: block;
}

.dealer-empty-history span {
    color: #817568;
    font-size: 12px;
    margin-top: 4px;
}

.login-theme {
    background: #322319;
}

.login-theme .container {
    margin-bottom: 0;
    margin-top: 0;
}

.login-theme .login-shell {
    min-height: calc(100vh - 71px);
    padding: 42px 0;
}

.login-theme .login-copy {
    color: #fff;
}

.login-theme .login-copy h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 6vw, 74px);
    letter-spacing: -.045em;
}

.login-theme .login-copy p {
    color: #d6c7b4;
}

.login-theme .eyebrow,
.login-theme .back-link {
    color: #f0bd65;
}

.login-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.login-features span {
    border: 1px solid #6c5542;
    border-radius: 999px;
    color: #e7d8c5;
    font-size: 11px;
    font-weight: 700;
    padding: 7px 10px;
}

.login-theme .login-box {
    background: #f8f3e9;
    border: 1px solid #7c6148;
    border-radius: 24px;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .25);
    padding: clamp(24px, 4vw, 38px);
}

.login-theme .login-logo {
    height: 104px;
    margin-bottom: 10px;
}

.login-theme .login-kicker {
    display: block;
    text-align: center;
}

.login-theme .login-box h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    margin: 7px 0 24px;
}

.login-theme .login-box label {
    color: #64584a;
    font-weight: 700;
}

.login-theme .login-box input {
    border: 1px solid #d5c6b4;
    border-radius: 11px;
    min-height: 48px;
}

.login-theme .login-box input:focus {
    border-color: #b7751c;
    box-shadow: 0 0 0 3px rgba(183, 117, 28, .14);
    outline: 0;
}

.login-theme .login-box button {
    background: #b7751c;
    border-radius: 12px;
    min-height: 50px;
}

.login-theme .login-box button:hover {
    background: #995f13;
}

@media (max-width: 760px) {
    .dealer-theme .topbar,
    .login-theme .topbar {
        align-items: center;
        flex-direction: row;
        padding: 10px 14px;
    }

    .dealer-theme .container {
        margin-bottom: 22px;
        width: min(100% - 20px, 1180px);
    }

    .dealer-hero {
        margin-inline: -10px;
        padding-inline: 16px;
    }

    .dealer-section-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .dealer-section-title p {
        text-align: left;
    }

    .dealer-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dealer-product-card {
        padding: 7px;
    }

    .dealer-product-copy {
        min-height: 62px;
        padding-inline: 2px;
    }

    .dealer-product-copy h3 {
        font-size: 15px;
    }

    .dealer-quantity {
        gap: 3px;
        grid-template-columns: 34px minmax(38px, 1fr) 34px;
        padding: 4px;
    }

    .dealer-quantity button,
    .dealer-quantity input {
        height: 36px;
        min-height: 36px;
    }

    .dealer-order-bar {
        align-items: stretch;
        bottom: 8px;
        flex-direction: column;
        gap: 12px;
    }

    .dealer-order-bar button {
        width: 100%;
    }

    .dealer-edit-banner,
    .dealer-notice,
    .dealer-history-card footer {
        align-items: stretch;
        flex-direction: column;
    }

    .login-theme .container {
        width: min(100% - 28px, 1180px);
    }

    .login-theme .login-shell {
        gap: 30px;
        padding: 28px 0 38px;
    }

    .login-theme .login-copy h1 {
        font-size: clamp(38px, 12vw, 56px);
    }
}

/* Şoför haftalık toplantı formu */
.meeting-theme {
    background: #f4efe5;
    color: #2c2118;
}

.meeting-theme .topbar {
    background: #322319;
    border-bottom: 0;
}

.meeting-theme .brand,
.meeting-theme .topbar nav a,
.meeting-theme .nav-link-button {
    color: #fff;
}

.meeting-theme .brand img {
    background: #d09a42;
}

.meeting-theme .container {
    max-width: 1180px;
}

.meeting-workflow {
    color: #2c2118;
    padding-bottom: 40px;
}

.meeting-hero,
.meeting-form-heading,
.meeting-detail-header {
    align-items: center;
    background: linear-gradient(135deg, #ead9b7 0%, #f8f2e7 62%, #fff 100%);
    border: 1px solid #dbcbb5;
    border-radius: 26px;
    display: flex;
    gap: 28px;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: clamp(24px, 5vw, 48px);
}

.meeting-eyebrow {
    color: #9c671c;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    margin-bottom: 9px;
    text-transform: uppercase;
}

.meeting-hero h1,
.meeting-form-heading h1,
.meeting-detail-header h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 6vw, 58px);
    letter-spacing: -.04em;
    line-height: 1;
    margin: 0 0 12px;
}

.meeting-hero p,
.meeting-form-heading p,
.meeting-detail-header p {
    color: #6f6256;
    margin: 0;
    max-width: 720px;
}

.meeting-primary,
button.meeting-primary {
    background: #322319;
    color: #fff;
}

.meeting-primary:hover,
button.meeting-primary:hover {
    background: #513824;
}

.meeting-metrics {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 20px;
}

.meeting-metrics > div {
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 20px;
    padding: 20px 22px;
}

.meeting-metrics strong,
.meeting-metrics span {
    display: block;
}

.meeting-metrics strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
}

.meeting-metrics span {
    color: #7a6f64;
    font-size: 11px;
    font-weight: 800;
    margin-top: 3px;
    text-transform: uppercase;
}

.meeting-filter-card,
.meeting-form-section,
.meeting-detail-section {
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 22px;
    margin-bottom: 18px;
    padding: clamp(18px, 4vw, 30px);
}

.meeting-filters {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, 1fr) minmax(170px, .45fr) auto auto;
}

.meeting-filters label,
.meeting-meta-grid label,
.meeting-performance-grid label,
.meeting-feedback-grid label,
.meeting-entry-row label {
    color: #6b5e51;
    font-size: 12px;
    font-weight: 800;
}

.meeting-filters input,
.meeting-meta-grid input,
.meeting-performance-grid input,
.meeting-feedback-grid textarea,
.meeting-entry-row input,
.meeting-entry-row select,
.meeting-entry-row textarea {
    background: #fffdf9;
    border: 1px solid #d8cabb;
    border-radius: 12px;
    color: #2c2118;
    margin-top: 6px;
    width: 100%;
}

.meeting-filters input:focus,
.meeting-meta-grid input:focus,
.meeting-performance-grid input:focus,
.meeting-feedback-grid textarea:focus,
.meeting-entry-row input:focus,
.meeting-entry-row select:focus,
.meeting-entry-row textarea:focus {
    border-color: #b7751c;
    box-shadow: 0 0 0 3px rgba(183, 117, 28, .13);
    outline: 0;
}

.meeting-list {
    display: grid;
    gap: 12px;
}

.meeting-list-card {
    align-items: center;
    background: #fff;
    border: 1px solid #ded3c4;
    border-radius: 20px;
    display: grid;
    gap: 18px;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    padding: 17px 20px;
}

.meeting-list-date {
    background: #f4ead9;
    border-radius: 15px;
    padding: 10px;
    text-align: center;
}

.meeting-list-date strong,
.meeting-list-date span {
    display: block;
}

.meeting-list-date strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1;
}

.meeting-list-date span {
    color: #887766;
    font-size: 10px;
    margin-top: 4px;
}

.meeting-list-copy h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    margin: 5px 0 4px;
}

.meeting-list-copy p {
    color: #7a6f64;
    font-size: 12px;
    margin: 0;
}

.meeting-list-actions {
    display: flex;
    gap: 8px;
}

.meeting-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    padding: 6px 10px;
    text-transform: uppercase;
    white-space: nowrap;
}

.meeting-status.completed {
    background: #e7f5eb;
    color: #24683d;
}

.meeting-status.draft {
    background: #fff0d6;
    color: #925b0c;
}

.meeting-empty {
    background: #fff;
    border: 1px dashed #cdbfae;
    border-radius: 20px;
    padding: 46px 24px;
    text-align: center;
}

.meeting-empty strong,
.meeting-empty span {
    display: block;
}

.meeting-empty span {
    color: #7a6f64;
    margin: 6px 0 18px;
}

.meeting-form-heading {
    align-items: flex-start;
}

.meeting-back {
    color: #7a5d37;
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 22px;
}

.meeting-section-nav {
    background: #322319;
    border-radius: 18px;
    display: flex;
    gap: 6px;
    margin-bottom: 18px;
    overflow-x: auto;
    padding: 8px;
    position: sticky;
    top: 8px;
    z-index: 5;
}

.meeting-section-nav a {
    border-radius: 11px;
    color: #e9ddcf;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 800;
    padding: 10px 12px;
}

.meeting-section-nav a:hover {
    background: #5a402c;
    color: #fff;
}

.meeting-form-section {
    scroll-margin-top: 82px;
}

.meeting-section-heading {
    border-bottom: 1px solid #eee5da;
    margin-bottom: 20px;
    padding-bottom: 17px;
}

.meeting-section-heading > span {
    color: #a06b20;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.meeting-section-heading h2,
.meeting-detail-section h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 3vw, 32px);
    margin: 5px 0 7px;
}

.meeting-section-heading p {
    color: #7a6f64;
    font-size: 13px;
    margin: 0;
}

.meeting-meta-grid,
.meeting-performance-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.meeting-performance-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 24px;
}

.meeting-rows-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 4px 0 10px;
}

.meeting-rows-heading span {
    color: #8a7d70;
    font-size: 11px;
}

.meeting-entry-row {
    align-items: start;
    background: #fbf7f0;
    border: 1px solid #e8ded0;
    border-radius: 16px;
    display: grid;
    gap: 10px;
    grid-template-columns: 30px repeat(4, minmax(0, 1fr));
    margin-bottom: 10px;
    padding: 36px 12px 12px;
    position: relative;
}

.meeting-final-row {
    grid-template-columns: 30px 1.6fr .8fr .7fr .8fr 1.35fr;
}

.meeting-row-number {
    align-items: center;
    background: #e7d4b6;
    border-radius: 50%;
    color: #6d4817;
    display: flex;
    font-size: 11px;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    margin-top: 22px;
    width: 28px;
}

.meeting-entry-row textarea {
    min-height: 70px;
    resize: vertical;
}

.meeting-remove-row {
    background: transparent;
    color: #956f55;
    font-size: 10px;
    min-height: 0;
    padding: 6px 8px;
    position: absolute;
    right: 7px;
    top: 5px;
}

.meeting-remove-row:hover {
    background: #f4e2d7;
    color: #9b3b24;
}

.meeting-action-box {
    background: #fffaf2;
    border: 1px dashed #bd9561;
    color: #6e4a1d;
    min-height: 92px;
    padding: 12px;
    text-align: left;
    width: 100%;
}

.meeting-action-box strong,
.meeting-action-box span {
    display: block;
}

.meeting-action-box strong {
    font-size: 11px;
}

.meeting-action-box span {
    color: #8a7560;
    font-size: 10px;
    line-height: 1.45;
    margin-top: 6px;
}

.meeting-action-box:hover,
.meeting-action-box:focus-visible {
    background: #f5e7cf;
    border-color: #a56d21;
    outline: none;
}

.meeting-action-box.has-action {
    background: #edf7ef;
    border-color: #6ba17a;
    color: #285f39;
}

.meeting-action-box.has-action span {
    color: #55735e;
}

.meeting-add-row {
    background: #fffaf2;
    border: 1px dashed #bd9561;
    color: #7d521b;
    margin-top: 3px;
    width: 100%;
}

.meeting-add-row:hover {
    background: #f3e4cb;
}

.meeting-action-received {
    animation: meeting-action-highlight 1.8s ease;
}

.meeting-action-dialog {
    background: #fffdf9;
    border: 0;
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(35, 24, 16, .34);
    color: #2c2118;
    margin: auto;
    max-height: min(90vh, 760px);
    max-width: 760px;
    overflow: auto;
    padding: 0;
    width: min(94vw, 760px);
}

.meeting-action-dialog::backdrop {
    background: rgba(32, 24, 19, .68);
    backdrop-filter: blur(3px);
}

.meeting-action-dialog[open] {
    display: block;
}

.meeting-dialog-header {
    align-items: flex-start;
    background: linear-gradient(135deg, #ead9b7, #f8f2e7);
    border-bottom: 1px solid #dbcbb5;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 24px 26px 20px;
}

.meeting-dialog-header h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    margin: 0 0 5px;
}

.meeting-dialog-header p {
    color: #756758;
    font-size: 12px;
    margin: 0;
}

.meeting-dialog-close {
    align-items: center;
    background: rgba(255, 255, 255, .66);
    border: 1px solid #d8c8b5;
    border-radius: 50%;
    color: #5f4c3b;
    display: flex;
    flex: 0 0 auto;
    font-size: 24px;
    height: 38px;
    justify-content: center;
    min-height: 38px;
    padding: 0 0 3px;
    width: 38px;
}

.meeting-dialog-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 24px 26px;
}

.meeting-dialog-grid label {
    color: #6b5e51;
    font-size: 12px;
    font-weight: 800;
}

.meeting-dialog-grid input,
.meeting-dialog-grid select,
.meeting-dialog-grid textarea {
    background: #fff;
    border: 1px solid #d8cabb;
    border-radius: 12px;
    color: #2c2118;
    margin-top: 6px;
    width: 100%;
}

.meeting-dialog-grid textarea {
    resize: vertical;
}

.meeting-dialog-grid input:focus,
.meeting-dialog-grid select:focus,
.meeting-dialog-grid textarea:focus {
    border-color: #b7751c;
    box-shadow: 0 0 0 3px rgba(183, 117, 28, .13);
    outline: none;
}

.meeting-dialog-wide {
    grid-column: 1 / -1;
}

.meeting-dialog-actions {
    background: #f8f3eb;
    border-top: 1px solid #e7dccd;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding: 16px 26px 20px;
}

@keyframes meeting-action-highlight {
    0%,
    100% {
        border-color: #e8ded0;
        box-shadow: none;
    }

    20%,
    70% {
        background: #fff4ce;
        border-color: #c79132;
        box-shadow: 0 0 0 4px rgba(199, 145, 50, .13);
    }
}

.meeting-feedback-grid {
    display: grid;
    gap: 13px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.meeting-feedback-grid textarea {
    min-height: 110px;
    resize: vertical;
}

.meeting-note {
    align-items: center;
    background: #f2e5cf;
    border-radius: 14px;
    color: #66533d;
    display: flex;
    gap: 12px;
    margin-top: 18px;
    padding: 14px 16px;
}

.meeting-note strong {
    color: #915f19;
}

.meeting-save-bar {
    align-items: center;
    background: rgba(50, 35, 25, .96);
    border-radius: 20px;
    bottom: 12px;
    box-shadow: 0 16px 45px rgba(38, 27, 18, .24);
    color: #fff;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-top: 20px;
    padding: 16px 18px;
    position: sticky;
    z-index: 6;
}

.meeting-save-bar > div:last-child {
    display: flex;
    gap: 9px;
}

.meeting-save-bar strong,
.meeting-save-bar span {
    display: block;
}

.meeting-save-bar span {
    color: #d6c7b4;
    font-size: 11px;
    margin-top: 2px;
}

.meeting-save-bar .secondary-action {
    background: #5a4738;
    color: #fff;
}

.meeting-save-bar .meeting-primary {
    background: #d49a3d;
    color: #2f2117;
}

.meeting-detail-header {
    margin-bottom: 12px;
}

.meeting-detail-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.meeting-print-meta {
    color: #76695c;
    display: flex;
    flex-wrap: wrap;
    font-size: 11px;
    gap: 16px;
    justify-content: space-between;
    margin: 0 6px 18px;
}

.meeting-detail-section {
    page-break-inside: avoid;
}

.meeting-detail-section h2 {
    border-bottom: 1px solid #eee5da;
    margin-top: 0;
    padding-bottom: 12px;
}

.meeting-detail .meeting-performance-grid > div {
    background: #fbf7f0;
    border: 1px solid #e8ded0;
    border-radius: 13px;
    padding: 13px;
}

.meeting-detail .meeting-performance-grid small,
.meeting-detail .meeting-performance-grid strong {
    display: block;
}

.meeting-detail .meeting-performance-grid small,
.meeting-detail-row small,
.meeting-feedback-detail small {
    color: #8b7b6b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.meeting-detail .meeting-performance-grid strong {
    margin-top: 5px;
}

.meeting-detail-row {
    background: #fbf7f0;
    border: 1px solid #e8ded0;
    border-radius: 14px;
    display: grid;
    gap: 11px;
    grid-template-columns: 28px repeat(auto-fit, minmax(130px, 1fr));
    margin-bottom: 9px;
    padding: 12px;
}

.meeting-detail-row > span {
    align-items: center;
    background: #ead8bb;
    border-radius: 50%;
    display: flex;
    font-size: 10px;
    font-weight: 900;
    height: 26px;
    justify-content: center;
    width: 26px;
}

.meeting-detail-row strong {
    display: block;
    font-size: 12px;
    line-height: 1.5;
    margin-top: 4px;
    white-space: pre-wrap;
}

.meeting-detail-empty {
    color: #8b7b6b;
    font-style: italic;
}

.meeting-feedback-detail {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.meeting-feedback-detail > div {
    background: #fbf7f0;
    border: 1px solid #e8ded0;
    border-radius: 14px;
    padding: 14px;
}

.meeting-feedback-detail p {
    font-size: 12px;
    line-height: 1.55;
    margin: 6px 0 0;
}

.admin-meeting-detail {
    margin-top: 22px;
}

.admin-meeting-detail .meeting-workflow {
    padding-bottom: 0;
}

.admin-count {
    background: #eef2f8;
    border-radius: 999px;
    font-size: 12px;
    padding: 4px 8px;
}

@media (max-width: 900px) {
    .meeting-performance-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .meeting-entry-row,
    .meeting-final-row {
        grid-template-columns: 30px repeat(2, minmax(0, 1fr));
    }

    .meeting-row-number {
        grid-row: 1 / span 3;
    }
}

@media (max-width: 700px) {
    .meeting-theme .topbar {
        align-items: center;
        flex-direction: row;
        padding: 10px 14px;
    }

    .meeting-theme .container {
        width: min(100% - 20px, 1180px);
    }

    .meeting-hero,
    .meeting-form-heading,
    .meeting-detail-header {
        align-items: stretch;
        flex-direction: column;
        padding: 24px 20px;
    }

    .meeting-hero h1,
    .meeting-form-heading h1,
    .meeting-detail-header h1 {
        font-size: 38px;
    }

    .meeting-hero .button {
        text-align: center;
        width: 100%;
    }

    .meeting-metrics {
        gap: 8px;
    }

    .meeting-metrics > div {
        padding: 14px 10px;
        text-align: center;
    }

    .meeting-metrics strong {
        font-size: 27px;
    }

    .meeting-metrics span {
        font-size: 8px;
    }

    .meeting-filters,
    .meeting-meta-grid,
    .meeting-feedback-grid,
    .meeting-feedback-detail {
        grid-template-columns: 1fr;
    }

    .meeting-list-card {
        gap: 12px;
        grid-template-columns: 62px minmax(0, 1fr);
        padding: 13px;
    }

    .meeting-list-actions {
        grid-column: 1 / -1;
    }

    .meeting-list-actions .button {
        flex: 1;
        text-align: center;
    }

    .meeting-section-nav {
        border-radius: 14px;
        margin-inline: -2px;
    }

    .meeting-form-section {
        padding: 18px 14px;
    }

    .meeting-entry-row,
    .meeting-final-row {
        grid-template-columns: 26px minmax(0, 1fr);
        padding: 10px;
    }

    .meeting-row-number {
        grid-row: 1 / span 6;
        height: 24px;
        width: 24px;
    }

    .meeting-entry-row label {
        grid-column: 2;
    }

    .meeting-action-dialog {
        border-radius: 20px;
        width: min(94vw, 760px);
    }

    .meeting-dialog-header {
        padding: 20px 18px 16px;
    }

    .meeting-dialog-header h2 {
        font-size: 26px;
    }

    .meeting-dialog-grid {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .meeting-dialog-wide {
        grid-column: auto;
    }

    .meeting-dialog-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 14px 18px 18px;
    }

    .meeting-save-bar {
        align-items: stretch;
        bottom: 6px;
        flex-direction: column;
        padding: 13px;
    }

    .meeting-save-bar > div:last-child {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .meeting-save-bar button {
        padding-inline: 9px;
    }

    .meeting-detail-actions {
        justify-content: flex-start;
    }

    .meeting-detail-row {
        grid-template-columns: 26px 1fr;
    }

    .meeting-detail-row > div {
        grid-column: 2;
    }

    .meeting-print-meta {
        flex-direction: column;
        gap: 4px;
    }
}

@media print {
    body.printing-meeting-detail .container > .page-title,
    body.printing-meeting-detail .container > .panel {
        display: none !important;
    }

    body.printing-meeting-detail .admin-meeting-detail {
        display: block !important;
    }

    .meeting-theme {
        background: #fff;
    }

    .meeting-theme .topbar,
    .meeting-theme .messages,
    .meeting-section-nav,
    .meeting-save-bar,
    .meeting-filter-card,
    .meeting-list-actions,
    .meeting-detail-actions,
    .meeting-action-dialog,
    .no-print {
        display: none !important;
    }

    .meeting-theme .container,
    .admin-meeting-detail {
        margin: 0;
        max-width: none;
        padding: 0;
        width: 100%;
    }

    .meeting-workflow {
        padding: 0;
    }

    .meeting-detail-header,
    .meeting-detail-section {
        border-color: #bbb;
        border-radius: 0;
        box-shadow: none;
        margin-bottom: 10px;
        padding: 14px;
    }

    .meeting-detail-header {
        background: #fff;
    }

    .meeting-detail-header h1 {
        font-size: 30px;
    }

    .meeting-detail-section h2 {
        font-size: 20px;
    }

    .meeting-detail-row,
    .meeting-feedback-detail > div,
    .meeting-detail .meeting-performance-grid > div {
        background: #fff;
        border-color: #ccc;
    }
}
