﻿:root {
    --ay-accent: #ff9800;
    --ay-bg: #08111e;
    --ay-panel: #0b1727;
    --ay-card: #0a1626;
    --ay-sidebar: #060e18;
    --ay-sidebar-active: #182c42;
    --ay-sidebar-hover: #122234;
    --ay-border: #263a4e;
    --ay-grid-head: #122234;
    --ay-grid-row: #0a1626;
    --ay-grid-alt: #0e1c2e;
    --ay-grid-selected: #243f62;
    --ay-text: #f4f7fb;
    --ay-muted: #b9c3cd;
    --ay-green: #2ecc71;
    --ay-blue: #3498db;
    --ay-yellow: #ffc107;
    --ay-red: #e74c3c;
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

body.desktop-theme-body {
    margin: 0;
    background: var(--ay-bg);
    color: var(--ay-text);
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    overflow: hidden;
}

a {
    text-decoration: none;
}

.desktop-app-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.desktop-main-header {
    height: 86px;
    flex: 0 0 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px 10px 7px;
    background: #050c15;
    border-bottom: 1px solid #102237;
}

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

.desktop-brand img {
    width: 55px;
    height: 55px;
    object-fit: contain;
    border-radius: 12px;
}

.desktop-brand-name {
    font-size: 31px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.desktop-brand-name span {
    color: var(--ay-accent);
}

.desktop-brand-tagline {
    margin-top: 5px;
    color: #9eb0c3;
    font-size: 14px;
}

.desktop-user-block {
    text-align: right;
    line-height: 1.25;
}

.desktop-user-block strong {
    display: block;
    font-size: 14px;
}

.desktop-user-block span {
    display: block;
    color: var(--ay-accent);
    font-size: 12px;
    font-weight: 700;
}

.desktop-user-block small {
    display: block;
    margin-top: 4px;
    color: #9eb0c3;
    font-size: 12px;
}

.desktop-app-body {
    min-height: 0;
    flex: 1;
    display: flex;
}

.desktop-sidebar {
    width: 194px;
    flex: 0 0 194px;
    background: var(--ay-sidebar);
    border-right: 1px solid #102237;
    overflow-y: auto;
}

.desktop-sidebar nav {
    padding-top: 56px;
}

.desktop-menu-link {
    position: relative;
    height: 38px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #f5f7fb;
    font-size: 16px;
    font-weight: 650;
    transition: background .15s ease;
}

.desktop-menu-link:hover {
    color: #fff;
    background: var(--ay-sidebar-hover);
}

.desktop-menu-link.active {
    color: var(--ay-accent);
    background: var(--ay-sidebar-active);
}

.desktop-menu-link > span {
    width: 13px;
    color: var(--ay-accent);
    font-size: 13px;
    text-align: center;
}

.menu-badge {
    margin-left: auto;
    min-width: 19px;
    height: 17px;
    padding: 0 5px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #df3d4b;
    color: #fff;
    font-size: 10px;
}

.desktop-menu-separator {
    height: 1px;
    margin: 15px 10px;
    background: #13273d;
}

.desktop-content {
    min-width: 0;
    flex: 1;
    padding: 18px 15px 14px 18px;
    overflow: auto;
    background: var(--ay-bg);
}

.desktop-dashboard {
    min-width: 1120px;
    max-width: 1600px;
    margin: 0 auto;
}

.desktop-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.desktop-metric-card {
    position: relative;
    height: 134px;
    padding: 24px 22px 18px 74px;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #0b182a, #091525);
    border: 1px solid var(--ay-border);
    border-radius: 13px;
    overflow: hidden;
}

.metric-accent {
    position: absolute;
    inset: 25px auto 25px 0;
    width: 4px;
    background: var(--ay-accent);
}

.metric-icon {
    position: absolute;
    left: 26px;
    top: 40px;
    width: 31px;
    color: var(--ay-accent);
    font-size: 27px;
    line-height: 1;
    text-align: center;
}

.desktop-metric-title {
    font-size: 15px;
    font-weight: 700;
}

.desktop-metric-value {
    margin-top: 2px;
    font-size: 30px;
    line-height: 1.08;
    font-weight: 800;
}

.desktop-money {
    font-size: 28px;
}

.desktop-metric-note {
    margin-top: 4px;
    color: #b9c7d7;
    font-size: 13px;
}

.desktop-dashboard-main {
    margin-top: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 335px;
    gap: 20px;
}

.desktop-dashboard-left {
    min-width: 0;
}

.desktop-top-panels {
    display: grid;
    grid-template-columns: 395px minmax(0, 1fr);
    gap: 20px;
}

.desktop-panel {
    position: relative;
    background: linear-gradient(145deg, #0a1728, #071321);
    border: 1px solid var(--ay-border);
    border-top: 3px solid var(--ay-accent);
    border-radius: 0 0 13px 13px;
    overflow: hidden;
}

.desktop-panel h2 {
    margin: 15px 20px 12px;
    color: #fff;
    font-size: 20px;
    font-weight: 750;
}

.task-distribution-panel,
.finance-summary-panel {
    height: 273px;
}

.task-distribution-body {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 20px 18px;
}

.desktop-donut-wrap {
    width: 190px;
    height: 185px;
    display: grid;
    place-items: center;
    background: #1a2a40;
}

.desktop-donut {
    width: 170px;
    height: 170px;
    display: grid;
    place-items: center;
    border-radius: 50%;
}

.desktop-donut-hole {
    width: 91px;
    height: 91px;
    border-radius: 50%;
    background: #1a2a40;
}

.desktop-donut-legend {
    min-width: 170px;
    display: grid;
    gap: 13px;
}

.desktop-donut-legend > div {
    display: grid;
    grid-template-columns: 13px 1fr 20px 42px;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.desktop-donut-legend strong,
.desktop-donut-legend b {
    font-weight: 700;
}

.legend-square {
    width: 11px;
    height: 11px;
    display: inline-block;
}

.legend-square.completed { background: var(--ay-green); }
.legend-square.progress { background: var(--ay-blue); }
.legend-square.waiting { background: var(--ay-yellow); }
.legend-square.cancelled { background: #a0a0a0; }

.desktop-finance-legend {
    position: absolute;
    top: 72px;
    left: 45%;
    display: flex;
    gap: 18px;
    color: #f5f7fb;
    font-size: 13px;
}

.line-swatch {
    width: 26px;
    height: 3px;
    display: inline-block;
    margin-right: 6px;
    vertical-align: middle;
}

.line-swatch.income { background: var(--ay-green); }
.line-swatch.expense { background: #ff574d; }

.desktop-chart-area {
    height: 197px;
    padding: 31px 22px 10px;
}

.desktop-chart-area canvas {
    width: 100%;
    height: 100%;
}

.chart-empty {
    display: none;
    height: 100%;
    place-items: center;
    color: #91a4b9;
}

.desktop-table-panel {
    height: 338px;
    margin-top: 20px;
    border-top: 1px solid #b4bdc7;
    border-radius: 0;
}

.fieldset-title {
    position: absolute;
    left: 7px;
    top: -12px;
    padding: 0 5px;
    background: var(--ay-bg);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.desktop-table-wrap {
    height: 100%;
    padding: 28px 8px 8px;
}

.desktop-dashboard-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 13px;
}

.desktop-dashboard-table th,
.desktop-dashboard-table td {
    height: 36px;
    padding: 6px 7px;
    border: 1px solid #263b52;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.desktop-dashboard-table th {
    background: var(--ay-grid-head);
    color: #fff;
    text-align: left;
}

.desktop-dashboard-table tbody tr:nth-child(odd) td {
    background: var(--ay-grid-selected);
}

.desktop-dashboard-table tbody tr:nth-child(even) td {
    background: var(--ay-grid-row);
}

.desktop-dashboard-table td.status-completed {
    background: #26683b !important;
    font-weight: 700;
}

.desktop-dashboard-table td.status-progress {
    background: #294f77 !important;
    font-weight: 700;
}

.desktop-dashboard-table td.status-waiting {
    background: #756116 !important;
    font-weight: 700;
}

.desktop-dashboard-table td.status-cancelled {
    background: #783638 !important;
    font-weight: 700;
}

.table-empty {
    height: 100px !important;
    text-align: center;
    color: #96a8bb;
}

.desktop-dashboard-right {
    display: grid;
    grid-template-rows: 273px 186px 1fr;
    gap: 20px;
}

.side-widget {
    min-height: 0;
}

.side-widget h2 {
    margin-bottom: 8px;
}

.widget-inner {
    height: 208px;
    margin: 0 8px 8px;
    padding: 35px 18px;
    background: #1a2a40;
}

.widget-list {
    padding: 7px 17px 14px;
}

.desktop-widget-row,
.stock-row {
    min-height: 39px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.widget-alert-icon {
    color: var(--ay-accent);
}

.widget-alert-icon.danger {
    color: var(--ay-red);
}

.stock-name {
    flex: 1;
}

.critical-badge {
    padding: 4px 12px;
    background: #e74c3c;
    color: #fff;
    font-size: 12px;
}

.collection-row {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #20364c;
}

.collection-row:last-child {
    border-bottom: 0;
}

.collection-row strong,
.collection-row small {
    display: block;
}

.collection-row small {
    margin-top: 3px;
    color: #a8b8c8;
}

.collection-row b {
    color: var(--ay-accent);
}

.desktop-empty {
    height: 100%;
    display: grid;
    place-items: center;
    color: #8ea0b3;
    text-align: center;
}

/* Personel ve diğer mevcut sayfalar için tema uyumu */
.container,
.container-fluid {
    max-width: none;
}

.card {
    background: var(--ay-card);
    color: var(--ay-text);
    border: 1px solid var(--ay-border) !important;
    border-radius: 4px;
}

.card::before {
    content: "";
    display: block;
    height: 3px;
    background: var(--ay-accent);
}

.form-control,
.form-select {
    min-height: 36px;
    border: 1px solid #30475f;
    border-radius: 2px;
    background: #121e30;
    color: var(--ay-text);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--ay-accent);
    background: #121e30;
    color: var(--ay-text);
    box-shadow: none;
}

.form-control::placeholder {
    color: #8da0b5;
}

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

.btn {
    border-radius: 3px;
    font-weight: 650;
}

.btn-primary {
    border-color: var(--ay-accent);
    background: var(--ay-accent);
    color: #08111e;
}

.btn-primary:hover {
    border-color: #ffac2f;
    background: #ffac2f;
    color: #08111e;
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ay-text);
    --bs-table-border-color: var(--ay-border);
    color: var(--ay-text);
}

.table-light {
    --bs-table-bg: var(--ay-grid-head);
    --bs-table-color: #fff;
    --bs-table-border-color: var(--ay-border);
}

.table > :not(caption) > * > * {
    border-bottom-color: var(--ay-border);
}

@media (max-width: 1250px) {
    body.desktop-theme-body {
        overflow: auto;
    }

    .desktop-app-body {
        min-width: 1240px;
    }
}


/* Faz 6 - Dashboard son ölçü düzeltmeleri */
.desktop-table-panel {
    height: 320px;
    margin-top: 14px;
    border-top: 3px solid var(--ay-accent);
    border-radius: 0 0 10px 10px;
    padding-top: 0;
}

.desktop-table-header {
    height: 38px;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    background: #0a1728;
    border-bottom: 1px solid var(--ay-border);
}

.desktop-table-wrap {
    height: calc(100% - 38px);
    padding: 8px;
    overflow: hidden;
}

.desktop-dashboard-right {
    grid-template-rows: 255px 168px 145px;
    gap: 14px;
}

.collections-widget {
    min-height: 145px;
}

.collections-widget .desktop-empty {
    min-height: 72px;
}

.desktop-user-block {
    padding-right: 14px;
}

/* Faz 6 - Masaüstü Personel modülü */
.module-page {
    min-width: 1050px;
    max-width: 1500px;
    margin: 0 auto;
}

.module-page-header {
    min-height: 64px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.module-page-header h1 {
    margin: 0;
    color: #fff;
    font-size: 23px;
    font-weight: 750;
}

.module-page-header p {
    margin: 5px 0 0;
    color: #9eb0c3;
    font-size: 13px;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.desktop-action-button,
.desktop-back-button,
.desktop-primary-button,
.desktop-secondary-button,
.desktop-filter-button,
.desktop-clear-button {
    min-height: 36px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid transparent;
    border-radius: 2px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.desktop-action-button,
.desktop-primary-button {
    background: var(--ay-accent);
    border-color: var(--ay-accent);
    color: #07111c;
}

.desktop-action-button:hover,
.desktop-primary-button:hover {
    background: #ffad2d;
    border-color: #ffad2d;
    color: #07111c;
}

.desktop-back-button,
.desktop-secondary-button,
.desktop-clear-button {
    background: #101e30;
    border-color: #30475f;
    color: #d9e2eb;
}

.desktop-back-button:hover,
.desktop-secondary-button:hover,
.desktop-clear-button:hover {
    background: #1b3048;
    color: #fff;
}

.module-summary-grid {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.module-summary-card {
    position: relative;
    height: 96px;
    padding: 17px 18px 15px 68px;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #0b182a, #091525);
    border: 1px solid var(--ay-border);
    border-radius: 9px;
    overflow: hidden;
}

.summary-accent {
    position: absolute;
    inset: 17px auto 17px 0;
    width: 4px;
    background: var(--ay-accent);
}

.summary-accent.active {
    background: #2ecc71;
}

.summary-accent.passive {
    background: #7d8b99;
}

.summary-icon {
    position: absolute;
    left: 24px;
    top: 31px;
    color: var(--ay-accent);
    font-size: 22px;
}

.summary-icon.active {
    color: #2ecc71;
}

.summary-icon.passive {
    color: #96a3b0;
}

.summary-title {
    font-size: 13px;
    font-weight: 700;
}

.summary-value {
    margin-top: 1px;
    font-size: 25px;
    line-height: 1;
    font-weight: 800;
}

.summary-note {
    margin-top: 5px;
    color: #9eb0c3;
    font-size: 11px;
}

.module-panel {
    background: linear-gradient(145deg, #0a1728, #071321);
    border: 1px solid var(--ay-border);
    border-top: 3px solid var(--ay-accent);
}

.module-panel-titlebar {
    min-height: 40px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: #0a1728;
    border-bottom: 1px solid var(--ay-border);
}

.module-panel-titlebar strong {
    font-size: 14px;
}

.module-panel-titlebar > span {
    color: #91a4b9;
    font-size: 11px;
}

.module-filterbar {
    padding: 10px;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 210px 90px 90px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.module-search-wrap {
    height: 36px;
    display: flex;
    align-items: center;
    border: 1px solid #30475f;
    background: #111f31;
}

.module-search-wrap > span {
    width: 34px;
    color: var(--ay-accent);
    text-align: center;
    font-size: 18px;
}

.module-search-wrap input,
.module-filterbar select {
    width: 100%;
    height: 34px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #f3f6fa;
    font-family: inherit;
    font-size: 13px;
}

.module-search-wrap input::placeholder {
    color: #8698ac;
}

.module-filterbar select {
    padding: 0 9px;
    border: 1px solid #30475f;
    background: #111f31;
}

.desktop-filter-button {
    background: #20364e;
    border-color: #38536e;
    color: #fff;
}

.desktop-filter-button:hover {
    background: #2a4867;
}

.module-table-wrap {
    max-height: calc(100vh - 386px);
    overflow: auto;
}

.module-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 12px;
}

.module-table th,
.module-table td {
    min-height: 42px;
    padding: 8px 9px;
    border: 1px solid #263b52;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

.module-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--ay-grid-head);
    color: #fff;
    text-align: left;
    font-size: 12px;
}

.module-table tbody tr:nth-child(odd) td {
    background: #102039;
}

.module-table tbody tr:nth-child(even) td {
    background: #091626;
}

.module-table tbody tr:hover td {
    background: #19314d;
}

.module-table th:nth-child(1) { width: 18%; }
.module-table th:nth-child(2) { width: 12%; }
.module-table th:nth-child(3) { width: 14%; }
.module-table th:nth-child(4) { width: 12%; }
.module-table th:nth-child(5) { width: 10%; }
.module-table th:nth-child(6) { width: 11%; }
.module-table th:nth-child(7) { width: 8%; }
.module-table th:nth-child(8) { width: 15%; }

.person-cell {
    display: flex;
    align-items: center;
    gap: 9px;
}

.person-avatar {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: grid;
    place-items: center;
    border-radius: 3px;
    background: #1d3551;
    color: var(--ay-accent);
    font-weight: 800;
}

.person-cell strong,
.person-cell small {
    display: block;
}

.person-cell small {
    margin-top: 2px;
    color: #91a4b9;
    font-size: 10px;
}

.desktop-status {
    min-width: 48px;
    padding: 4px 8px;
    display: inline-flex;
    justify-content: center;
    border-radius: 2px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

.desktop-status.active {
    background: #267344;
}

.desktop-status.passive {
    background: #5e6a76;
}

.actions-column {
    text-align: center !important;
}

.module-actions {
    text-align: center;
    white-space: nowrap;
}

.inline-form {
    display: inline;
}

.module-icon-button {
    width: 30px;
    height: 28px;
    margin: 0 2px;
    padding: 0;
    display: inline-grid;
    place-items: center;
    border: 1px solid #496078;
    border-radius: 2px;
    background: #13243a;
    color: #dce5ee;
    font-size: 13px;
    cursor: pointer;
}

.module-icon-button:hover {
    color: #fff;
    background: #213b59;
}

.module-icon-button.edit {
    border-color: #d98400;
    color: var(--ay-accent);
}

.module-icon-button.disable {
    border-color: #b24a4a;
    color: #ff7373;
}

.module-icon-button.enable {
    border-color: #2b8b59;
    color: #52dc8e;
}

.module-table-empty {
    height: 130px;
    text-align: center;
    color: #91a4b9;
}

.module-alert {
    min-height: 40px;
    margin-bottom: 10px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #267344;
    background: #133522;
    color: #b9f0ce;
}

.desktop-form-panel {
    max-width: 1100px;
}

.desktop-module-form {
    padding: 16px;
}

.desktop-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.desktop-field {
    min-width: 0;
}

.desktop-field.span-2 {
    grid-column: span 2;
}

.desktop-field.span-3 {
    grid-column: span 3;
}

.desktop-field.span-4 {
    grid-column: span 4;
}

.desktop-field label {
    margin-bottom: 5px;
    display: block;
    color: #dce4ed;
    font-size: 12px;
    font-weight: 650;
}

.desktop-field input,
.desktop-field select,
.desktop-field textarea {
    width: 100%;
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid #30475f;
    border-radius: 2px;
    outline: 0;
    background: #111f31;
    color: #fff;
    font-family: inherit;
    font-size: 13px;
}

.desktop-field textarea {
    resize: vertical;
}

.desktop-field input:focus,
.desktop-field select:focus,
.desktop-field textarea:focus {
    border-color: var(--ay-accent);
}

.desktop-field > span,
.module-validation-summary {
    color: #ff7474;
    font-size: 11px;
}

.desktop-switch-row {
    height: 36px;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.desktop-switch-row input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.desktop-switch {
    position: relative;
    width: 42px;
    height: 20px;
    display: inline-block;
    border-radius: 10px;
    background: #4e5d6c;
}

.desktop-switch::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    transition: .15s ease;
}

.desktop-switch-row input:checked + .desktop-switch {
    background: #267344;
}

.desktop-switch-row input:checked + .desktop-switch::after {
    transform: translateX(22px);
}

.desktop-form-actions {
    margin-top: 17px;
    padding-top: 13px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--ay-border);
}

.detail-panel {
    max-width: 1100px;
}

.detail-grid {
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.detail-item {
    min-height: 72px;
    padding: 11px 12px;
    background: #101e30;
    border: 1px solid #243b53;
}

.detail-item.span-2 {
    grid-column: span 2;
}

.detail-item.span-4 {
    grid-column: span 4;
}

.detail-item span,
.detail-item strong {
    display: block;
}

.detail-item span {
    color: #90a2b6;
    font-size: 10px;
}

.detail-item strong {
    margin-top: 6px;
    color: #fff;
    font-size: 13px;
    line-height: 1.45;
}

@media (max-width: 1250px) {
    .module-page {
        min-width: 1050px;
    }
}


/* =========================================================
   FAZ 7 - ORTAK ÖZET KART STANDARDI
   Dashboard ve bütün modül sayfaları aynı ölçüyü kullanır.
   ========================================================= */

:root {
    --ay-summary-card-height: 112px;
    --ay-summary-card-radius: 9px;
    --ay-summary-card-padding-top: 18px;
    --ay-summary-card-padding-right: 18px;
    --ay-summary-card-padding-bottom: 16px;
    --ay-summary-card-padding-left: 72px;
    --ay-summary-icon-left: 25px;
    --ay-summary-icon-size: 24px;
    --ay-summary-title-size: 13px;
    --ay-summary-value-size: 27px;
    --ay-summary-note-size: 11px;
}

/* Dashboard üst kartları */
.desktop-metric-card {
    height: var(--ay-summary-card-height) !important;
    min-height: var(--ay-summary-card-height);
    padding:
        var(--ay-summary-card-padding-top)
        var(--ay-summary-card-padding-right)
        var(--ay-summary-card-padding-bottom)
        var(--ay-summary-card-padding-left) !important;
    align-items: center;
    border-radius: var(--ay-summary-card-radius) !important;
}

.desktop-metric-card .metric-accent {
    inset: 18px auto 18px 0 !important;
}

.desktop-metric-card .metric-icon {
    left: var(--ay-summary-icon-left) !important;
    top: 50% !important;
    width: 30px !important;
    transform: translateY(-50%);
    font-size: var(--ay-summary-icon-size) !important;
}

.desktop-metric-title {
    font-size: var(--ay-summary-title-size) !important;
    line-height: 1.2;
}

.desktop-metric-value {
    margin-top: 3px !important;
    font-size: var(--ay-summary-value-size) !important;
    line-height: 1 !important;
}

.desktop-metric-note {
    min-height: 14px;
    margin-top: 6px !important;
    font-size: var(--ay-summary-note-size) !important;
    line-height: 1.25;
}

.desktop-money {
    font-size: var(--ay-summary-value-size) !important;
}

/* Personel ve bundan sonraki tüm modül kartları */
.module-summary-card {
    height: var(--ay-summary-card-height) !important;
    min-height: var(--ay-summary-card-height);
    padding:
        var(--ay-summary-card-padding-top)
        var(--ay-summary-card-padding-right)
        var(--ay-summary-card-padding-bottom)
        var(--ay-summary-card-padding-left) !important;
    align-items: center;
    border-radius: var(--ay-summary-card-radius) !important;
}

.module-summary-card .summary-accent {
    inset: 18px auto 18px 0 !important;
}

.module-summary-card .summary-icon {
    left: var(--ay-summary-icon-left) !important;
    top: 50% !important;
    width: 30px;
    transform: translateY(-50%);
    font-size: var(--ay-summary-icon-size) !important;
    text-align: center;
}

.summary-title {
    font-size: var(--ay-summary-title-size) !important;
    line-height: 1.2;
}

.summary-value {
    margin-top: 3px !important;
    font-size: var(--ay-summary-value-size) !important;
    line-height: 1 !important;
}

.summary-note {
    min-height: 14px;
    margin-top: 6px !important;
    font-size: var(--ay-summary-note-size) !important;
    line-height: 1.25;
}

/* Ortak grid aralığı */
.desktop-metric-grid,
.module-summary-grid {
    gap: 14px !important;
}

/* Yeni modüllerde kullanılacak ortak sınıflar */
.ay-summary-grid {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ay-summary-grid.cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.ay-summary-card {
    position: relative;
    height: var(--ay-summary-card-height);
    min-height: var(--ay-summary-card-height);
    padding:
        var(--ay-summary-card-padding-top)
        var(--ay-summary-card-padding-right)
        var(--ay-summary-card-padding-bottom)
        var(--ay-summary-card-padding-left);
    display: flex;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--ay-border);
    border-radius: var(--ay-summary-card-radius);
    background: linear-gradient(135deg, #0b182a, #091525);
}

.ay-summary-card-accent {
    position: absolute;
    inset: 18px auto 18px 0;
    width: 4px;
    background: var(--ay-accent);
}

.ay-summary-card-icon {
    position: absolute;
    left: var(--ay-summary-icon-left);
    top: 50%;
    width: 30px;
    transform: translateY(-50%);
    color: var(--ay-accent);
    font-size: var(--ay-summary-icon-size);
    text-align: center;
}

.ay-summary-card-title {
    font-size: var(--ay-summary-title-size);
    line-height: 1.2;
    font-weight: 700;
}

.ay-summary-card-value {
    margin-top: 3px;
    font-size: var(--ay-summary-value-size);
    line-height: 1;
    font-weight: 800;
}

.ay-summary-card-note {
    min-height: 14px;
    margin-top: 6px;
    color: #9eb0c3;
    font-size: var(--ay-summary-note-size);
    line-height: 1.25;
}

@media (max-width: 1250px) {
    .ay-summary-grid {
        min-width: 1000px;
    }
}


/* =========================================================
   FAZ 8 - ORTAK SAYFA BAŞLIĞI STANDARDI
   Bütün sayfalarda kartlar aynı yatay çizgiden başlar.
   ========================================================= */

:root {
    --ay-page-header-height: 62px;
    --ay-page-header-bottom-gap: 12px;
}

.standardized-page-header,
.module-page-header.standardized-page-header {
    width: 100%;
    height: var(--ay-page-header-height) !important;
    min-height: var(--ay-page-header-height) !important;
    max-height: var(--ay-page-header-height);
    margin: 0 0 var(--ay-page-header-bottom-gap) !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    overflow: visible;
}

.standardized-page-header > div:first-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.standardized-page-header h1 {
    margin: 0 !important;
    color: #fff;
    font-size: 21px !important;
    line-height: 1.1 !important;
    font-weight: 750;
    white-space: nowrap;
}

.standardized-page-header p {
    margin: 4px 0 0 !important;
    color: #9eb0c3;
    font-size: 11px !important;
    line-height: 1.15 !important;
    white-space: nowrap;
}

.standardized-page-header .desktop-action-button,
.standardized-page-header .desktop-back-button,
.standardized-page-header .header-actions {
    flex: 0 0 auto;
}

.standardized-header-meta {
    padding-right: 3px;
    color: var(--ay-accent);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
}

/* Dashboard ve modül kartlarının başlama çizgisini eşitler */
.desktop-dashboard,
.module-page {
    padding-top: 0 !important;
}

.desktop-dashboard > .desktop-metric-grid,
.module-page > .module-summary-grid {
    margin-top: 0 !important;
}

/* Eski başlık kuralının yükseklik farkı üretmesini engeller */
.module-page-header {
    min-height: var(--ay-page-header-height);
}

/* Form ve detay ekranlarında da aynı başlık konumu */
.form-module-page .standardized-page-header,
.details-module-page .standardized-page-header {
    margin-bottom: var(--ay-page-header-bottom-gap) !important;
}


/* =========================================================
   FAZ 9 - DASHBOARD TAM EKRANA SIĞDIRMA
   Ortak başlık eklendikten sonra sağ alttaki Yaklaşan
   Tahsilatlar kartının kesilmesini engeller.
   Kart standardı değiştirilmez.
   ========================================================= */

.desktop-dashboard-main {
    margin-top: 8px !important;
    gap: 14px !important;
}

.desktop-top-panels {
    gap: 14px !important;
}

.task-distribution-panel,
.finance-summary-panel {
    height: 225px !important;
}

.task-distribution-panel h2,
.finance-summary-panel h2,
.side-widget h2 {
    margin-top: 11px !important;
    margin-bottom: 7px !important;
    font-size: 18px !important;
}

.task-distribution-body {
    height: 172px;
    padding: 3px 14px 10px !important;
}

.desktop-donut-wrap {
    width: 170px !important;
    height: 160px !important;
}

.desktop-donut {
    width: 146px !important;
    height: 146px !important;
}

.desktop-donut-hole {
    width: 78px !important;
    height: 78px !important;
}

.desktop-donut-legend {
    gap: 8px !important;
}

.desktop-finance-legend {
    top: 56px !important;
}

.desktop-chart-area {
    height: 164px !important;
    padding: 24px 18px 7px !important;
}

.desktop-dashboard-right {
    grid-template-rows: 225px 145px 125px !important;
    gap: 10px !important;
}

.widget-inner {
    height: 162px !important;
    margin: 0 8px 7px !important;
    padding: 20px 15px !important;
}

.widget-list {
    padding: 3px 14px 8px !important;
}

.desktop-widget-row,
.stock-row {
    min-height: 32px !important;
}

.collections-widget {
    min-height: 125px !important;
}

.collections-widget .widget-list {
    padding-top: 0 !important;
}

.collections-widget .desktop-empty {
    min-height: 54px !important;
}

.collection-row {
    min-height: 42px !important;
}

.desktop-table-panel {
    height: 250px !important;
    margin-top: 10px !important;
}

.desktop-table-header {
    height: 34px !important;
    padding: 7px 11px !important;
}

.desktop-table-wrap {
    height: calc(100% - 34px) !important;
    padding: 6px !important;
}

.desktop-dashboard-table th,
.desktop-dashboard-table td {
    height: 29px !important;
    padding: 4px 6px !important;
    font-size: 11px !important;
}

/* Sayfanın alt kartını gizlememek için içerik alanında güvenli alt boşluk */
.desktop-content {
    padding-bottom: 8px !important;
}

/* 900px ve daha kısa ekranlarda bir miktar daha sıkıştır */
@media (max-height: 900px) {
    .task-distribution-panel,
    .finance-summary-panel {
        height: 212px !important;
    }

    .desktop-chart-area {
        height: 151px !important;
    }

    .task-distribution-body {
        height: 160px;
    }

    .desktop-dashboard-right {
        grid-template-rows: 212px 137px 116px !important;
        gap: 8px !important;
    }

    .widget-inner {
        height: 150px !important;
    }

    .desktop-table-panel {
        height: 232px !important;
        margin-top: 8px !important;
    }
}


/* =========================================================
   FAZ 10 - GLOBAL ÜST BİLGİ
   Tarih tüm sayfalarda kullanıcı bilgisinin altında görünür.
   Sayfa başlıkları yalnızca başlık, açıklama ve işlem butonunu taşır.
   ========================================================= */

.desktop-user-block {
    min-width: 180px;
    padding-right: 14px !important;
}

.desktop-user-block strong,
.desktop-user-block span,
.desktop-user-block small {
    display: block;
}

.desktop-user-block small {
    margin-top: 4px;
    color: #9eb0c3;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
}

/* Ana sayfada sağ meta kaldırıldığı için başlık dengesi */
.standardized-page-header {
    justify-content: space-between;
}

/* Boş sağ alan üretmesini engelle */
.standardized-header-meta:empty {
    display: none;
}


/* =========================================================
   FAZ 11 - PROJELER MODÜLÜ
   Ortak başlık ve kart standardı korunur.
   ========================================================= */

.project-filterbar {
    padding: 10px;
    display: grid;
    grid-template-columns: minmax(300px, 1fr) 180px 170px 80px 85px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.project-filterbar select {
    width: 100%;
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    border-radius: 0;
    outline: 0;
    background: #111f31;
    color: #f3f6fa;
    font-family: inherit;
    font-size: 12px;
}

.project-table th:nth-child(1) { width: 18%; }
.project-table th:nth-child(2) { width: 14%; }
.project-table th:nth-child(3) { width: 10%; }
.project-table th:nth-child(4) { width: 10%; }
.project-table th:nth-child(5) { width: 7%; }
.project-table th:nth-child(6) { width: 7%; }
.project-table th:nth-child(7) { width: 12%; }
.project-table th:nth-child(8) { width: 8%; }
.project-table th:nth-child(9) { width: 14%; }

.project-name-cell {
    display: flex;
    align-items: center;
    gap: 9px;
}

.project-avatar {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: grid;
    place-items: center;
    border-radius: 3px;
    background: #1d3551;
    color: var(--ay-accent);
    font-size: 15px;
}

.project-status {
    min-width: 82px;
    padding: 4px 7px;
    display: inline-flex;
    justify-content: center;
    border-radius: 2px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

.project-status.progress {
    background: #294f77;
}

.project-status.completed {
    background: #267344;
}

.project-status.waiting {
    background: #79651c;
}

.project-status.cancelled {
    background: #84383b;
}

/* AYPANEL genel durum renk standardı */
.project-status.draft { background: #596579; }
.project-status.planned { background: #9a7b12; }
.project-status.progress { background: #2f6091; }
.project-status.approved { background: #087f8c; }
.project-status.invoiced { background: #2468a2; }
.project-status.partial { background: #d38b12; }
.project-status.completed,
.project-status.paid { background: #23864e; }
.project-status.overdue { background: #c56718; }
.project-status.cancelled,
.project-status.rejected { background: #a83d42; }
.project-status.passive { background: #566170; }

.desktop-dashboard-table td.status-draft { background: #596579; color: #fff; }
.desktop-dashboard-table td.status-planned { background: #9a7b12; color: #fff; }
.desktop-dashboard-table td.status-progress { background: #2f6091; color: #fff; }
.desktop-dashboard-table td.status-completed { background: #23864e; color: #fff; }
.desktop-dashboard-table td.status-cancelled { background: #a83d42; color: #fff; }

.desktop-check-row {
    min-height: 32px;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.desktop-check-row input {
    width: 15px;
    height: 15px;
    accent-color: var(--ay-accent);
}

.project-detail-statuses {
    display: flex;
    align-items: center;
    gap: 7px;
}

.project-status-actions {
    max-width: 1100px;
    margin-top: 12px;
    padding: 11px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--ay-border);
    background: #0a1728;
}

.project-status-actions > span {
    margin-right: 5px;
    color: #9eb0c3;
    font-size: 12px;
}

.project-state-button {
    min-height: 31px;
    padding: 0 10px;
    border: 1px solid #3c526a;
    border-radius: 2px;
    background: #111f31;
    color: #dce5ee;
    font-family: inherit;
    font-size: 11px;
    cursor: pointer;
}

.project-state-button:hover,
.project-state-button.selected {
    border-color: var(--ay-accent);
    color: var(--ay-accent);
    background: #17263a;
}

@media (max-width: 1250px) {
    .project-filterbar {
        min-width: 1050px;
    }
}

/* =========================================================
   FAZ 12 - ORTAK LİSTE / PANEL STANDARDI
   Personel, Projeler ve sonraki tüm liste modüllerinde
   projeler sayfasındaki sıkı yerleşimi ortaklaştırır.
   ========================================================= */

.module-page {
    padding-top: 4px !important;
    padding-bottom: 10px !important;
}

.module-page .standardized-page-header {
    margin-bottom: 10px !important;
}

.module-page .module-summary-grid,
.module-page .ay-summary-grid {
    margin-bottom: 10px !important;
}

.module-page .module-panel {
    margin-top: 0 !important;
    overflow: hidden;
}

.module-page .module-panel-titlebar {
    min-height: 36px !important;
    padding: 8px 12px !important;
}

.module-page .module-filterbar,
.module-page .project-filterbar {
    padding: 9px !important;
    gap: 10px !important;
    align-items: center;
}

.module-page .module-table-wrap {
    max-height: calc(100vh - 430px) !important;
    overflow: auto !important;
}

.module-page .module-table th,
.module-page .module-table td {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

.module-page .project-status,
.module-page .desktop-status {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 26px !important;
    white-space: nowrap;
    box-sizing: border-box;
}

.module-page .project-status {
    min-width: 94px;
    padding: 0 10px !important;
    font-size: 11px !important;
}

.module-page .desktop-status {
    min-width: 56px;
    padding: 0 10px !important;
    font-size: 11px !important;
}

.module-page .module-actions {
    padding-right: 8px !important;
}

.module-page .module-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-height: 900px) {
    .module-page .module-table-wrap {
        max-height: calc(100vh - 410px) !important;
    }
}

/* AYPANEL Dashboard - Son 7 Görev panel düzeltmesi
   Bu kodu wwwroot/css/site.css dosyasının EN ALTINA ekleyin. */

.desktop-table-panel {
    height: 250px !important;
    min-height: 250px !important;
    overflow: hidden !important;
}

.desktop-table-header {
    height: 34px !important;
    min-height: 34px !important;
    padding: 7px 11px !important;
    display: flex !important;
    align-items: center !important;
}

.desktop-table-wrap {
    height: calc(100% - 34px) !important;
    padding: 6px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: #52667b #0b1727;
}

.desktop-table-wrap::-webkit-scrollbar {
    width: 7px;
}

.desktop-table-wrap::-webkit-scrollbar-track {
    background: #0b1727;
}

.desktop-table-wrap::-webkit-scrollbar-thumb {
    background: #52667b;
    border-radius: 4px;
}

.desktop-table-wrap::-webkit-scrollbar-thumb:hover {
    background: #6b8299;
}

.desktop-dashboard-table {
    width: 100% !important;
    margin: 0 !important;
}

.desktop-dashboard-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    background: var(--ay-grid-head) !important;
}

.desktop-dashboard-table th,
.desktop-dashboard-table td {
    height: 31px !important;
    min-height: 31px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
}

/* Son satırın panel dibine yapışmaması için */
.desktop-dashboard-table tbody tr:last-child td {
    border-bottom: 1px solid #263b52 !important;
}

/* Dashboard alt alanının ekranda kesilmesini engeller */
.desktop-dashboard {
    padding-bottom: 10px !important;
}

/* AYPANEL Dashboard - Son 7 Görev scroll hizalama düzeltmesi
   Bu kodu wwwroot/css/site.css dosyasının EN ALTINA ekleyin. */

.desktop-table-wrap {
    position: relative !important;
    height: calc(100% - 34px) !important;
    padding: 0 6px 6px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable;
}

.desktop-dashboard-table {
    width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 0 !important;
}

.desktop-dashboard-table thead {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
}

.desktop-dashboard-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 21 !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 5px 7px !important;
    background: var(--ay-grid-head) !important;
    box-shadow:
        inset 0 -1px 0 #263b52,
        inset -1px 0 0 #263b52 !important;
    vertical-align: middle !important;
}

.desktop-dashboard-table tbody td {
    height: 32px !important;
    min-height: 32px !important;
    padding: 5px 7px !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

/* Başlık ve gövde kolonlarının aynı genişlikte kalması */
.desktop-dashboard-table th:nth-child(1),
.desktop-dashboard-table td:nth-child(1) { width: 14% !important; }

.desktop-dashboard-table th:nth-child(2),
.desktop-dashboard-table td:nth-child(2) { width: 14% !important; }

.desktop-dashboard-table th:nth-child(3),
.desktop-dashboard-table td:nth-child(3) { width: 17% !important; }

.desktop-dashboard-table th:nth-child(4),
.desktop-dashboard-table td:nth-child(4) { width: 14% !important; }

.desktop-dashboard-table th:nth-child(5),
.desktop-dashboard-table td:nth-child(5) { width: 14% !important; }

.desktop-dashboard-table th:nth-child(6),
.desktop-dashboard-table td:nth-child(6) { width: 11% !important; }

.desktop-dashboard-table th:nth-child(7),
.desktop-dashboard-table td:nth-child(7) { width: 16% !important; }

/* Scroll sırasında satırların başlığın üstüne taşmasını engeller */
.desktop-dashboard-table tbody {
    position: relative !important;
    z-index: 1 !important;
}

.desktop-dashboard-table tbody tr {
    position: relative !important;
    z-index: 1 !important;
}

/* =========================================================
   FAZ 12 - GÖREV YÖNETİMİ
   Ortak liste, başlık ve kart standardı kullanılır.
   ========================================================= */

.task-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 175px 155px 145px 75px 82px;
    gap: 8px;
    align-items: center;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.task-filterbar select {
    width: 100%;
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    border-radius: 0;
    outline: 0;
    background: #111f31;
    color: #f3f6fa;
    font-family: inherit;
    font-size: 12px;
}

.task-table th:nth-child(1) { width: 14%; }
.task-table th:nth-child(2) { width: 14%; }
.task-table th:nth-child(3) { width: 15%; }
.task-table th:nth-child(4) { width: 12%; }
.task-table th:nth-child(5) { width: 9%; }
.task-table th:nth-child(6) { width: 11%; }
.task-table th:nth-child(7) { width: 11%; }
.task-table th:nth-child(8) { width: 7%; }
.task-table th:nth-child(9) { width: 13%; }

.task-date-end,
.task-hours {
    display: block;
    margin-top: 2px;
    color: #92a5b8;
    font-size: 9px;
}

.task-module-page .module-table-wrap {
    max-height: calc(100vh - 430px) !important;
}

@media (max-width: 1250px) {
    .task-filterbar {
        min-width: 1100px;
    }
}

/* =========================================================
   FAZ 13 - PUANTAJ YÖNETİMİ
   Ortak kart, başlık ve liste standardı kullanılır.
   ========================================================= */

.puantaj-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) 165px 155px 135px 135px 72px 82px;
    gap: 8px;
    align-items: center;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.puantaj-filterbar select,
.puantaj-filterbar input[type="date"] {
    width: 100%;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #30475f;
    border-radius: 0;
    outline: 0;
    background: #111f31;
    color: #f3f6fa;
    font-family: inherit;
    font-size: 11px;
}

.puantaj-table th:nth-child(1) { width: 16%; }
.puantaj-table th:nth-child(2) { width: 15%; }
.puantaj-table th:nth-child(3) { width: 11%; }
.puantaj-table th:nth-child(4) { width: 9%; }
.puantaj-table th:nth-child(5) { width: 13%; }
.puantaj-table th:nth-child(6) { width: 11%; }
.puantaj-table th:nth-child(7) { width: 14%; }
.puantaj-table th:nth-child(8) { width: 11%; }

.overtime-value {
    color: #58dd91;
    font-weight: 700;
}

.puantaj-module-page .module-table-wrap {
    max-height: calc(100vh - 430px) !important;
}

@media (max-width: 1250px) {
    .puantaj-filterbar {
        min-width: 1120px;
    }
}

/* =========================================================
   FAZ 14 - PUANTAJ TAM ÖZELLİK
   Excel, aylık özet, aylık cetvel, yazdır/PDF ve toplu giriş.
   ========================================================= */

.puantaj-header-actions {
    gap: 6px !important;
}

.puantaj-header-actions .desktop-action-button {
    min-height: 34px;
    padding: 0 10px;
    font-size: 11px;
}

.bulk-button { background:#d97706 !important; border-color:#d97706 !important; color:#fff !important; }
.summary-button { background:#2563eb !important; border-color:#2563eb !important; color:#fff !important; }
.excel-button { background:#218c5a !important; border-color:#218c5a !important; color:#fff !important; }
.cetvel-button { background:#475569 !important; border-color:#475569 !important; color:#fff !important; }
.print-button { background:#334155 !important; border-color:#334155 !important; color:#fff !important; }

.puantaj-full-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(230px, 1fr) 145px 145px 125px 125px 125px 68px 78px;
    gap: 7px;
    align-items: center;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.puantaj-full-filterbar select,
.puantaj-full-filterbar input[type="date"],
.monthly-filterbar select,
.monthly-filterbar input {
    width: 100%;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #f3f6fa;
    font-family: inherit;
    font-size: 11px;
}

.monthly-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: 150px 100px 210px 210px 85px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.monthly-summary-wrap {
    max-height: calc(100vh - 250px) !important;
}

.monthly-summary-table {
    min-width: 1280px;
}

.monthly-summary-table th:nth-child(1) { width: 16%; }
.monthly-summary-table th:not(:first-child) { text-align: center; }

.summary-total-cell {
    color: #58dd91;
    font-weight: 800;
}

.bulk-form-grid {
    padding: 14px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    border-bottom: 1px solid var(--ay-border);
}

.bulk-form-grid .span-2 {
    grid-column: span 2;
}

.bulk-checks {
    display: flex;
    align-items: flex-end;
}

.bulk-validation {
    padding: 8px 14px 0;
}

.bulk-toolbar {
    min-height: 48px;
    padding: 7px 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--ay-border);
    background: #0b1829;
}

.bulk-toolbar input {
    width: 220px;
    height: 34px;
    padding: 0 9px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
}

.bulk-tool-button {
    min-height: 32px;
    padding: 0 9px;
    border: 1px solid #3c526a;
    background: #15273d;
    color: #dce5ee;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

.bulk-tool-button:hover {
    border-color: var(--ay-accent);
    color: var(--ay-accent);
}

.bulk-selected-count {
    margin-left: auto;
    color: #aebdca;
    font-size: 11px;
}

.bulk-selected-count strong {
    color: var(--ay-accent);
}

.bulk-table-wrap {
    max-height: calc(100vh - 430px);
    overflow: auto;
}

.bulk-table th:nth-child(1) { width: 7%; text-align:center; }
.bulk-table th:nth-child(2) { width: 38%; }
.bulk-table th:nth-child(3) { width: 30%; }
.bulk-table th:nth-child(4) { width: 25%; }

.bulk-table td:first-child {
    text-align:center;
}

.bulk-person-check {
    width: 16px;
    height: 16px;
    accent-color: var(--ay-accent);
}

.fm-applied td {
    box-shadow: inset 0 0 0 1px rgba(255,152,0,.25);
}

.bulk-save-actions {
    padding: 10px 14px;
    margin-top: 0;
}

@media print {
    .desktop-main-header,
    .desktop-sidebar,
    .no-print,
    .header-actions,
    .module-page-header p {
        display: none !important;
    }

    body.desktop-theme-body {
        overflow: visible !important;
        background: #fff !important;
        color: #000 !important;
    }

    .desktop-content,
    .desktop-app-body,
    .module-page {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #fff !important;
    }

    .module-panel,
    .module-table th,
    .module-table td {
        color: #000 !important;
        background: #fff !important;
        border-color: #777 !important;
    }

    .module-table-wrap {
        max-height: none !important;
        overflow: visible !important;
    }
}

/* =========================================================
   FAZ 16 - AYLIK PUANTAJ GİRİŞİ
   Excel benzeri hızlı puantaj ekranı
   ========================================================= */

.monthly-entry-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: 150px 100px 240px minmax(200px, 1fr) 80px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.monthly-entry-filterbar select,
.monthly-entry-filterbar input,
.monthly-entry-toolbar select {
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #f3f6fa;
    font-size: 11px;
}

.monthly-entry-toolbar {
    min-height: 48px;
    padding: 7px 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--ay-border);
    background: #0b1829;
}

.monthly-legend {
    margin-left: auto;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.monthly-legend span {
    min-width: 68px;
    padding: 5px 7px;
    border: 1px solid rgba(255,255,255,.14);
    text-align: center;
    font-size: 10px;
    font-weight: 800;
}

.monthly-entry-table-wrap {
    width: 100%;
    max-height: calc(100vh - 315px);
    overflow: auto;
    background: #081321;
}

.monthly-entry-table {
    min-width: 1500px;
    width: max-content;
    border-collapse: separate;
    border-spacing: 0;
    color: #eff4f8;
    font-size: 10px;
}

.monthly-entry-table th,
.monthly-entry-table td {
    height: 31px;
    min-width: 33px;
    border-right: 1px solid #263c52;
    border-bottom: 1px solid #263c52;
    text-align: center;
    white-space: nowrap;
}

.monthly-entry-table thead th {
    position: sticky;
    top: 0;
    z-index: 8;
    background: #5d9ed1;
    color: #07111d;
    font-weight: 900;
}

.monthly-entry-table .sticky-person {
    position: sticky;
    left: 0;
    z-index: 6;
    min-width: 235px;
    max-width: 235px;
    padding: 0 10px;
    text-align: left;
    background: #cfe2f2;
    color: #07111d;
    font-weight: 800;
}

.monthly-entry-table .sticky-service {
    position: sticky;
    left: 235px;
    z-index: 6;
    min-width: 155px;
    max-width: 155px;
    padding: 0 10px;
    text-align: left;
    background: #dcecf7;
    color: #07111d;
    font-weight: 800;
}

.monthly-entry-table thead .sticky-person,
.monthly-entry-table thead .sticky-service {
    z-index: 10;
    background: #5d9ed1;
    text-align: center;
}

.attendance-cell {
    cursor: pointer;
    user-select: none;
    background: #9aaab7;
    color: #07111d;
    font-weight: 900;
    transition: filter .1s ease;
}

.attendance-cell:hover {
    filter: brightness(1.12);
}

.state-present {
    background: #5bbf75 !important;
    color: #07130a !important;
}

.state-absent {
    background: #d95656 !important;
    color: #fff !important;
}

.state-leave {
    background: #4d8ed8 !important;
    color: #fff !important;
}

.state-report {
    background: #e0bd4b !important;
    color: #1d1703 !important;
}

.state-partial {
    background: #ef8f3a !important;
    color: #1b0c02 !important;
}

.monthly-save-message {
    margin: 8px 10px 0;
}

.module-alert.error {
    background: rgba(220, 53, 69, .12);
    border-color: rgba(220, 53, 69, .4);
    color: #ff8d98;
}

.module-alert.info {
    background: rgba(52, 152, 219, .12);
    border-color: rgba(52, 152, 219, .45);
    color: #91cdf4;
}

@media (max-width: 1100px) {
    .monthly-entry-filterbar {
        min-width: 900px;
    }
}

/* =========================================================
   FAZ 17 - AYLIK PUANTAJ TOPLAM KOLONLARI
   Günler yatay kayar; personel/hizmet solda, toplamlar sağda sabit.
   ========================================================= */

.monthly-entry-table .sticky-total-days,
.monthly-entry-table .sticky-total-fm {
    position: sticky;
    z-index: 7;
    min-width: 92px;
    max-width: 92px;
    background: #17283b;
    color: #f6f8fa;
    font-weight: 900;
    box-shadow: -1px 0 0 #3c5369;
}

.monthly-entry-table .sticky-total-fm {
    right: 0;
    min-width: 74px;
    max-width: 74px;
}

.monthly-entry-table .sticky-total-days {
    right: 74px;
}

.monthly-entry-table thead .sticky-total-days,
.monthly-entry-table thead .sticky-total-fm {
    z-index: 11;
    background: #315f82;
    color: #fff;
    white-space: normal;
    line-height: 1.15;
}

.monthly-entry-table tbody .sticky-total-days {
    color: #62df94;
}

.monthly-entry-table tbody .sticky-total-fm {
    color: #f5b04f;
}

.monthly-entry-table-wrap {
    scrollbar-gutter: stable;
}

/* =========================================================
   FAZ 19 - AYLIK PUANTAJ FM GİRİŞİ
   ========================================================= */

.row-total-fm {
    cursor: pointer;
}

.row-total-fm:hover {
    background: #213b53 !important;
    color: #ffd27a !important;
}

.attendance-cell {
    position: relative;
}

.cell-overtime-mark {
    position: absolute;
    right: 1px;
    bottom: 0;
    min-width: 12px;
    height: 11px;
    padding: 0 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px 0 0 0;
    background: #111827;
    color: #ffd166;
    font-size: 7px;
    line-height: 1;
    font-weight: 900;
}

.attendance-cell.has-overtime {
    box-shadow: inset 0 -2px 0 #ffd166;
}

.overtime-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .66);
}

.overtime-modal[hidden] {
    display: none;
}

.overtime-modal-card {
    width: min(430px, 100%);
    border: 1px solid #36516b;
    background: #0d1a2a;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .45);
}

.overtime-modal-header {
    min-height: 48px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 3px solid var(--ay-accent);
    border-bottom: 1px solid var(--ay-border);
    color: #fff;
}

.overtime-modal-header button {
    border: 0;
    background: transparent;
    color: #aebdca;
    font-size: 22px;
    cursor: pointer;
}

.overtime-modal-body {
    padding: 14px;
    display: grid;
    gap: 12px;
}

.overtime-modal-body input,
.overtime-modal-body select {
    width: 100%;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
}

.overtime-modal-body small {
    color: #8fa4b7;
}

.overtime-modal-actions {
    padding: 12px 14px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--ay-border);
}

/* =========================================================
   FAZ 21 - PERSONEL HAKEDİŞ
   ========================================================= */

.payroll-filterbar,
.payroll-generate-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: 150px 105px 240px 240px 85px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.payroll-generate-filterbar {
    grid-template-columns: 150px 105px 300px 90px;
}

.payroll-filterbar select,
.payroll-filterbar input,
.payroll-generate-filterbar select,
.payroll-generate-filterbar input {
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #f3f6fa;
    font-size: 11px;
}

.payroll-table {
    min-width: 1450px;
}

.payroll-table-wrap {
    max-height: calc(100vh - 430px) !important;
}

.payroll-table th:nth-child(1) { width: 14%; }
.payroll-table th:nth-child(2) { width: 13%; }
.payroll-table th:nth-child(3) { width: 6%; }
.payroll-table th:nth-child(4) { width: 10%; }
.payroll-table th:nth-child(5) { width: 11%; }
.payroll-table th:nth-child(6) { width: 7%; }
.payroll-table th:nth-child(7) { width: 10%; }
.payroll-table th:nth-child(8) { width: 10%; }
.payroll-table th:nth-child(9) { width: 11%; }
.payroll-table th:nth-child(10) { width: 13%; }
.payroll-table th:nth-child(11) { width: 5%; }

.deduction-cell {
    color: #ff9b8e;
}

.money-value {
    font-size: 23px !important;
}

.payroll-generate-toolbar {
    min-height: 46px;
    padding: 7px 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    border-bottom: 1px solid var(--ay-border);
    background: #0b1829;
}

.payroll-generate-toolbar span {
    margin-left: auto;
    color: #8fa4b7;
    font-size: 10px;
}

.payroll-generate-wrap {
    max-height: calc(100vh - 345px) !important;
}

.payroll-generate-table {
    min-width: 1550px;
}

.payroll-generate-table input[type="number"],
.payroll-generate-table input[type="text"] {
    width: 100%;
    height: 30px;
    padding: 0 7px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
    font-size: 10px;
}

.payroll-check {
    width: 16px;
    height: 16px;
    accent-color: var(--ay-accent);
}

.existing-payroll {
    display: block;
    margin-top: 3px;
    color: #f0b429;
    font-size: 8px;
}

.payroll-net {
    color: #58dd91;
    font-weight: 900;
}

/* =========================================================
   FAZ 23 - PERSONEL ÜCRET AYARLARI
   ========================================================= */

.wage-general-form {
    padding: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

.wage-general-form small {
    display: block;
    margin-top: 5px;
    color: #8197aa;
    font-size: 9px;
}

.wage-searchbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 75px 80px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.wage-table-wrap {
    max-height: calc(100vh - 455px) !important;
}

.wage-table {
    min-width: 1100px;
}

.wage-table th:nth-child(1) { width: 19%; }
.wage-table th:nth-child(2) { width: 16%; }
.wage-table th:nth-child(3) { width: 9%; }
.wage-table th:nth-child(4) { width: 14%; }
.wage-table th:nth-child(5) { width: 14%; }
.wage-table th:nth-child(6) { width: 14%; }
.wage-table th:nth-child(7) { width: 14%; }

.wage-table select,
.wage-table input[type="number"],
.wage-table input[type="text"] {
    width: 100%;
    height: 30px;
    padding: 0 7px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
    font-size: 10px;
}

.wage-warning,
.missing-wage {
    display: inline-block;
    padding: 4px 7px;
    border: 1px solid rgba(231, 76, 60, .45);
    background: rgba(231, 76, 60, .12);
    color: #ff8f84;
    font-size: 9px;
    font-weight: 800;
}

.wage-ready {
    display: inline-block;
    padding: 4px 7px;
    border: 1px solid rgba(46, 204, 113, .35);
    background: rgba(46, 204, 113, .10);
    color: #6ce59d;
    font-size: 9px;
    font-weight: 800;
}

.wage-save-actions {
    padding: 10px 14px;
    margin-top: 0;
}

@media (max-width: 1050px) {
    .wage-general-form {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}


/* FAZ 25 - TÜM PROJELER HAKEDİŞ */
.payroll-generate-table {
    min-width: 1700px;
}

/* =========================================================
   FAZ 26 - HAKEDİŞ PUANTAJ KONTROLÜ
   ========================================================= */

.missing-attendance {
    display: block;
    margin-top: 3px;
    color: #ff9b8e;
    font-size: 8px;
    font-weight: 800;
}

.missing-attendance.inline {
    display: inline-block;
    margin: 0 0 0 5px;
    padding: 2px 5px;
    border: 1px solid rgba(231, 76, 60, .35);
    background: rgba(231, 76, 60, .10);
}

.payroll-check:disabled {
    cursor: not-allowed;
    opacity: .45;
}

/* =========================================================
   FAZ 27 - HAKEDİŞ DETAY / DÜZENLEME
   ========================================================= */

.payroll-net-detail {
    background: rgba(46, 204, 113, .08) !important;
    border-color: rgba(46, 204, 113, .35) !important;
}

.payroll-net-detail strong {
    color: #58dd91 !important;
    font-size: 20px;
}

.payroll-net-preview {
    min-height: 74px;
    padding: 10px 12px;
    justify-content: center;
    border: 1px solid rgba(46, 204, 113, .35);
    background: rgba(46, 204, 113, .08);
}

.payroll-net-preview strong {
    color: #58dd91;
    font-size: 21px;
}

@media print {
    .payroll-detail-page .detail-panel {
        border: 1px solid #555 !important;
    }
}

/* =========================================================
   FAZ 29 - PERSONEL FORMU KAYDET BUTONU
   ========================================================= */

.form-module-page {
    padding-bottom: 96px;
}

.personnel-form-actions {
    position: sticky;
    bottom: 0;
    z-index: 40;
    min-height: 66px;
    padding: 12px 16px;
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #30475f;
    background: rgba(9, 21, 37, .98);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, .28);
}

.personnel-form-actions .desktop-primary-button,
.personnel-form-actions .desktop-secondary-button {
    min-width: 150px;
    min-height: 40px;
}

.desktop-content {
    padding-bottom: 28px;
}

/* =========================================================
   FAZ 30 - PERSONEL KAYDET SABİT ALT BAR
   ========================================================= */

.personnel-fixed-actions {
    position: fixed;
    left: var(--desktop-sidebar-width, 190px);
    right: 0;
    bottom: 0;
    z-index: 5000;
    min-height: 70px;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #30475f;
    background: rgba(7, 17, 29, .98);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, .45);
}

.personnel-fixed-actions .desktop-primary-button,
.personnel-fixed-actions .desktop-secondary-button {
    min-width: 170px;
    min-height: 42px;
}

.personnel-fixed-actions .desktop-primary-button {
    background: var(--ay-accent, #ff9800);
    border-color: var(--ay-accent, #ff9800);
    color: #08111d;
    font-weight: 900;
}

.form-module-page,
.desktop-module-form {
    padding-bottom: 92px !important;
}

@media (max-width: 900px) {
    .personnel-fixed-actions {
        left: 0;
        padding: 10px 14px;
    }

    .personnel-fixed-actions .desktop-primary-button,
    .personnel-fixed-actions .desktop-secondary-button {
        min-width: 130px;
    }
}

/* =========================================================
   FAZ 31 - FİRMA HAKEDİŞİ
   ========================================================= */

.company-payroll-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: 110px 130px 260px 190px 85px 80px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.company-payroll-filterbar input,
.company-payroll-filterbar select {
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #f3f6fa;
    font-size: 11px;
}

.company-payroll-table {
    min-width: 1450px;
}

.company-payroll-table-wrap {
    max-height: calc(100vh - 430px) !important;
}

.company-bulk-create-form {
    display: flex;
    align-items: center;
    gap: 7px;
}

.company-bulk-create-form input[type="month"] {
    height: 34px;
    padding: 0 8px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
    font-size: 10px;
}

.company-bulk-create-form .bulk-create-button {
    border-color: #3498db;
    background: #1d5f91;
    color: #fff;
}

.company-payroll-form-grid {
    padding: 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.company-payroll-form-grid .span-2 {
    grid-column: span 2;
}

.company-payroll-form-grid .span-4 {
    grid-column: span 4;
}

.company-item-toolbar {
    min-height: 46px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--ay-border);
    border-bottom: 1px solid var(--ay-border);
    background: #0b1829;
}

.company-item-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.company-item-toolbar .source-button {
    border-color: rgba(52, 152, 219, .7);
    color: #91cdf4;
}

.company-item-toolbar .source-button:disabled {
    opacity: .65;
    cursor: wait;
}

.company-source-summary {
    margin: 10px 14px 0;
    padding: 9px 11px;
    border: 1px solid rgba(52, 152, 219, .45);
    background: rgba(52, 152, 219, .12);
    color: #91cdf4;
    font-size: 10px;
    line-height: 1.45;
}

.company-source-summary.error {
    border-color: rgba(220, 53, 69, .45);
    background: rgba(220, 53, 69, .12);
    color: #ff8d98;
}

.company-item-table-wrap {
    max-height: 290px;
    overflow: auto;
}

.company-item-table {
    min-width: 980px;
}

.company-item-table input {
    width: 100%;
    height: 31px;
    padding: 0 7px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
    font-size: 10px;
}

.company-item-table th:nth-child(1) { width: 34%; }
.company-item-table th:nth-child(2) { width: 12%; }
.company-item-table th:nth-child(3) { width: 13%; }
.company-item-table th:nth-child(4) { width: 17%; }
.company-item-table th:nth-child(5) { width: 17%; }
.company-item-table th:nth-child(6) { width: 7%; }

.company-payroll-totals {
    padding: 12px 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 10px;
    border-top: 1px solid var(--ay-border);
    background: #091525;
}

.company-payroll-totals > div {
    min-height: 58px;
    padding: 9px 11px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid #30475f;
    background: #111f31;
}

.company-payroll-totals span {
    color: #8fa4b7;
    font-size: 9px;
}

.company-payroll-totals strong {
    margin-top: 4px;
    color: #f3f6fa;
    font-size: 16px;
}

.company-payroll-totals .grand-total {
    border-color: rgba(46, 204, 113, .45);
    background: rgba(46, 204, 113, .08);
}

.company-payroll-totals .grand-total strong {
    color: #58dd91;
    font-size: 19px;
}

.company-detail-items {
    margin-top: 12px;
}

@media (max-width: 1100px) {
    .company-payroll-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .company-payroll-form-grid .span-4 {
        grid-column: span 2;
    }

    .company-payroll-totals {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }
}

/* =========================================================
   FAZ 32 - FİRMA HAKEDİŞ DÜZENLEME BUTONU GÖRÜNÜRLÜĞÜ
   ========================================================= */

.company-payroll-table th:last-child,
.company-payroll-table td:last-child {
    min-width: 255px;
    width: 255px;
}

.company-actions-sticky {
    position: sticky;
    right: 0;
    z-index: 12;
    background: #102033 !important;
    box-shadow: -2px 0 0 #2d4359;
}

.company-payroll-table thead .company-actions-sticky {
    z-index: 18;
    background: #17283b !important;
}

.company-actions-sticky.module-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 50px;
}

.company-row-action {
    min-height: 31px;
    padding: 0 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid #3a536b;
    background: #122338;
    color: #eaf1f7;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.company-row-action.view {
    border-color: #3c78a8;
    color: #8bc7f5;
}

.company-row-action.edit {
    border-color: #ff9800;
    color: #ffb347;
}

.company-row-action.disable {
    border-color: #b94343;
    color: #ff8f8f;
}

.company-row-action:hover {
    filter: brightness(1.18);
}

.company-payroll-table-wrap {
    overflow-x: auto !important;
}

/* =========================================================
   FAZ 33 - ORTAK İŞLEM KOLONU STANDARDI
   Firma Hakedişi, Personel Listesi ile aynı ikon düzenini kullanır.
   ========================================================= */

.company-payroll-table th:last-child,
.company-payroll-table td:last-child {
    min-width: 132px !important;
    width: 132px !important;
    max-width: 132px !important;
}

.company-actions-sticky {
    position: sticky;
    right: 0;
    z-index: 12;
    background: #102033 !important;
    box-shadow: -2px 0 0 #2d4359;
}

.company-payroll-table thead .company-actions-sticky {
    z-index: 18;
    background: #17283b !important;
}

.company-actions-sticky.module-actions {
    display: table-cell !important;
    min-height: 0 !important;
    padding: 7px 8px !important;
    white-space: nowrap;
    text-align: center;
}

.company-actions-sticky .module-icon-button,
.company-actions-sticky .inline-form {
    display: inline-flex;
    vertical-align: middle;
    margin: 0 2px;
}

.company-actions-sticky .module-icon-button {
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0;
}

.company-row-action {
    display: none !important;
}

/* =========================================================
   FAZ 34 - FİRMA HAKEDİŞ NO KOLONU DARALTMA
   ========================================================= */

.company-payroll-table th:nth-child(1),
.company-payroll-table td:nth-child(1) {
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
}

.company-payroll-table th:nth-child(2),
.company-payroll-table td:nth-child(2) {
    width: 145px !important;
    min-width: 145px !important;
}

.company-payroll-table th:nth-child(3),
.company-payroll-table td:nth-child(3) {
    width: 210px !important;
    min-width: 210px !important;
}

.company-payroll-table td:nth-child(1) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* =========================================================
   FAZ 35 - HAKEDİŞ NO BİRAZ DAHA DAR
   ========================================================= */

.company-payroll-table th:nth-child(1),
.company-payroll-table td:nth-child(1) {
    width: 175px !important;
    min-width: 175px !important;
    max-width: 175px !important;
}

.company-payroll-table th:nth-child(2),
.company-payroll-table td:nth-child(2) {
    width: 135px !important;
    min-width: 135px !important;
    max-width: 135px !important;
}

.company-payroll-table th:nth-child(3),
.company-payroll-table td:nth-child(3) {
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
}

.company-payroll-table td:nth-child(1),
.company-payroll-table td:nth-child(2),
.company-payroll-table td:nth-child(3) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* =========================================================
   FAZ 36 - FİRMA HAKEDİŞ TABLOSUNU EKRANA SIĞDIRMA
   ========================================================= */

.company-payroll-table {
    min-width: 1320px !important;
}

.company-payroll-table th:nth-child(1),
.company-payroll-table td:nth-child(1) {
    width: 155px !important;
    min-width: 155px !important;
    max-width: 155px !important;
}

.company-payroll-table th:nth-child(2),
.company-payroll-table td:nth-child(2) {
    width: 125px !important;
    min-width: 125px !important;
    max-width: 125px !important;
}

.company-payroll-table th:nth-child(3),
.company-payroll-table td:nth-child(3) {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
}

.company-payroll-table th:nth-child(4),
.company-payroll-table td:nth-child(4) {
    width: 145px !important;
    min-width: 145px !important;
}

.company-payroll-table th:nth-child(5),
.company-payroll-table td:nth-child(5),
.company-payroll-table th:nth-child(6),
.company-payroll-table td:nth-child(6) {
    width: 120px !important;
    min-width: 120px !important;
}

.company-payroll-table th:nth-child(7),
.company-payroll-table td:nth-child(7) {
    width: 105px !important;
    min-width: 105px !important;
}

.company-payroll-table th:nth-child(8),
.company-payroll-table td:nth-child(8) {
    width: 105px !important;
    min-width: 105px !important;
    max-width: 105px !important;
}

.company-payroll-table th:nth-child(9),
.company-payroll-table td:nth-child(9) {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

.company-payroll-table td:nth-child(1),
.company-payroll-table td:nth-child(2),
.company-payroll-table td:nth-child(3) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-payroll-table td:nth-child(8) .project-status {
    min-width: 88px !important;
    max-width: 88px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-actions-sticky {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

.company-actions-sticky .module-icon-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
}

/* Kullanıcının son onayladığı Firma Hakedişi tablo ölçüleri */
.company-payroll-table { min-width: 1270px !important; }
.company-payroll-table th:nth-child(1), .company-payroll-table td:nth-child(1) { width:145px!important; min-width:145px!important; max-width:145px!important; }
.company-payroll-table th:nth-child(2), .company-payroll-table td:nth-child(2) { width:115px!important; min-width:115px!important; max-width:115px!important; }
.company-payroll-table th:nth-child(3), .company-payroll-table td:nth-child(3) { width:180px!important; min-width:180px!important; max-width:180px!important; }
.company-payroll-table th:nth-child(8), .company-payroll-table td:nth-child(8) { width:95px!important; min-width:95px!important; max-width:95px!important; }
.company-actions-sticky { width:112px!important; min-width:112px!important; max-width:112px!important; }
.company-actions-sticky .module-icon-button { width:30px!important; height:30px!important; min-width:30px!important; }

/* FAZ 37 - FİRMA HAKEDİŞ DETAY / FORM STANDARDI */
.company-payroll-fixed-actions { position:fixed; left:var(--desktop-sidebar-width,190px); right:0; bottom:0; z-index:5000; min-height:70px; padding:12px 24px; display:flex; align-items:center; justify-content:flex-end; gap:10px; border-top:1px solid #30475f; background:rgba(7,17,29,.98); box-shadow:0 -10px 28px rgba(0,0,0,.45); }
.company-payroll-fixed-actions .desktop-primary-button,.company-payroll-fixed-actions .desktop-secondary-button { min-width:165px; min-height:42px; }
.company-payroll-form-page { padding-bottom:96px; }
.company-detail-summary-grid { margin-bottom:12px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.company-detail-summary-card { min-height:88px; padding:13px; display:flex; flex-direction:column; justify-content:center; border:1px solid #30475f; border-top:3px solid #3498db; background:#0d1a2a; }
.company-detail-summary-card span { color:#8fa4b7; font-size:10px; }
.company-detail-summary-card strong { margin-top:7px; color:#f4f7fa; font-size:17px; }
.company-detail-summary-card.total { border-top-color:#ff9800; }
.company-detail-summary-card.total strong { color:#ffb347; }
.company-detail-summary-card.collected { border-top-color:#2ecc71; }
.company-detail-summary-card.collected strong { color:#58dd91; }
.company-detail-summary-card.remaining { border-top-color:#e74c3c; }
.company-detail-summary-card.remaining strong { color:#ff8278; }
.company-payroll-detail-page .detail-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.company-detail-items .module-table th,.company-detail-items .module-table td { height:40px; }
@media (max-width:1200px){ .company-detail-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:800px){ .company-payroll-fixed-actions{left:0;} .company-detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media print{ .company-payroll-fixed-actions,.company-payroll-detail-page .header-actions{display:none!important;} .company-detail-summary-grid{grid-template-columns:repeat(3,1fr);} }

/* =========================================================
   FAZ 38 - FİRMA HAKEDİŞ KALEMLERİNİ GÖRÜNÜR YAP
   ========================================================= */

.company-payroll-detail-page {
    height: calc(100vh - 122px);
    max-height: calc(100vh - 122px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px !important;
    padding-bottom: 34px !important;
    scrollbar-gutter: stable;
}

.company-payroll-detail-page .company-detail-summary-grid {
    margin-bottom: 8px;
    gap: 8px;
}

.company-payroll-detail-page .company-detail-summary-card {
    min-height: 72px;
    padding: 10px 12px;
}

.company-payroll-detail-page .company-detail-summary-card strong {
    margin-top: 4px;
    font-size: 16px;
}

.company-payroll-detail-page .detail-panel {
    margin-bottom: 8px;
}

.company-payroll-detail-page .detail-grid {
    gap: 8px;
    padding: 10px !important;
}

.company-payroll-detail-page .detail-item {
    min-height: 58px;
    padding: 9px 11px !important;
}

.company-payroll-detail-page .detail-item span {
    margin-bottom: 4px;
}

.company-detail-items-visible {
    margin-top: 8px !important;
    margin-bottom: 20px !important;
    overflow: visible !important;
}

.company-detail-items-visible .module-table-wrap {
    max-height: none !important;
    overflow: visible !important;
}

.company-detail-items-visible .module-table {
    min-width: 100% !important;
}

.company-detail-items-visible .module-panel-titlebar {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #0d1a2a;
}

@media (max-height: 800px) {
    .company-payroll-detail-page {
        height: calc(100vh - 105px);
        max-height: calc(100vh - 105px);
    }

    .company-payroll-detail-page .company-detail-summary-card {
        min-height: 64px;
    }

    .company-payroll-detail-page .detail-item {
        min-height: 52px;
    }
}

/* =========================================================
   FAZ 39 - FİRMA HAKEDİŞ TAHSİLAT GİRİŞİ
   ========================================================= */

.collection-button {
    background: #23955f !important;
    border-color: #23955f !important;
    color: #fff !important;
}

.company-collection-history {
    margin-top: 10px;
    margin-bottom: 22px;
}

.collection-modal {
    position: fixed;
    inset: 0;
    z-index: 6000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .68);
}

.collection-modal[hidden] {
    display: none;
}

.collection-modal-card {
    width: min(600px, 100%);
    border: 1px solid #36516b;
    border-top: 3px solid #2ecc71;
    background: #0d1a2a;
    box-shadow: 0 20px 70px rgba(0, 0, 0, .5);
}

.collection-modal-header {
    min-height: 58px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #30475f;
}

.collection-modal-header > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.collection-modal-header strong {
    color: #fff;
    font-size: 16px;
}

.collection-modal-header small {
    color: #8fa4b7;
    font-size: 9px;
}

.collection-modal-header button {
    border: 0;
    background: transparent;
    color: #aebdca;
    font-size: 24px;
    cursor: pointer;
}

.collection-modal-body {
    padding: 15px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.collection-modal-body .span-2 {
    grid-column: span 2;
}

.collection-modal-body input,
.collection-modal-body select,
.collection-modal-body textarea {
    width: 100%;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
}

.collection-modal-body input,
.collection-modal-body select {
    height: 40px;
    padding: 0 10px;
}

.collection-modal-body textarea {
    padding: 9px 10px;
    resize: vertical;
}

.collection-balance-box {
    grid-column: span 2;
    min-height: 68px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(231, 76, 60, .38);
    background: rgba(231, 76, 60, .08);
}

.collection-balance-box span {
    color: #aebdca;
    font-size: 10px;
}

.collection-balance-box strong {
    color: #ff8278;
    font-size: 22px;
}

.collection-modal-actions {
    padding: 12px 15px;
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    border-top: 1px solid #30475f;
}

@media (max-width: 650px) {
    .collection-modal-body {
        grid-template-columns: 1fr;
    }

    .collection-modal-body .span-2,
    .collection-balance-box {
        grid-column: span 1;
    }
}

@media print {
    .collection-button,
    .collection-modal,
    .company-collection-history {
        display: none !important;
    }
}

/* =========================================================
   FAZ 40 - TAHSİLAT TUTAR FORMAT DÜZELTMESİ
   ========================================================= */

.collection-modal-body input[inputmode="decimal"] {
    text-align: right;
    font-weight: 800;
}

/* =========================================================
   FAZ 41 - TAHSİLAT İPTALİ
   ========================================================= */

.company-collection-history .module-table {
    min-width: 980px;
}

.company-collection-history .module-table th:last-child,
.company-collection-history .module-table td:last-child {
    width: 72px;
    min-width: 72px;
    text-align: center;
}

.company-collection-history .module-actions {
    white-space: nowrap;
}

/* =========================================================
   FAZ 42 - TAHSİLAT İPTAL BUTONU GÖRÜNÜR
   ========================================================= */

.company-collection-history .module-table {
    min-width: 860px !important;
}

.company-collection-history .module-table th:nth-child(1),
.company-collection-history .module-table td:nth-child(1) {
    width: 120px !important;
    min-width: 120px !important;
}

.company-collection-history .module-table th:nth-child(2),
.company-collection-history .module-table td:nth-child(2) {
    width: 130px !important;
    min-width: 130px !important;
}

.company-collection-history .module-table th:nth-child(3),
.company-collection-history .module-table td:nth-child(3) {
    width: 150px !important;
    min-width: 150px !important;
}

.company-collection-history .module-table th:nth-child(4),
.company-collection-history .module-table td:nth-child(4) {
    width: 160px !important;
    min-width: 160px !important;
}

.company-collection-history .module-table th:nth-child(5),
.company-collection-history .module-table td:nth-child(5) {
    min-width: 220px !important;
}

.company-collection-history .module-table th:last-child,
.company-collection-history .module-table td:last-child {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
}

.collection-actions-sticky {
    position: sticky;
    right: 0;
    z-index: 12;
    background: #102033 !important;
    box-shadow: -2px 0 0 #2d4359;
    text-align: center;
}

.company-collection-history thead .collection-actions-sticky {
    z-index: 18;
    background: #17283b !important;
}

.collection-actions-sticky .module-icon-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    margin: 0 auto;
}

/* =========================================================
   FAZ 43 - FİNANS HAREKETLERİ
   ========================================================= */

.finance-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: 145px 100px 145px 190px 190px minmax(240px, 1fr) 80px 80px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.finance-filterbar input,
.finance-filterbar select {
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #f3f6fa;
    font-size: 10px;
}

.finance-table {
    min-width: 1480px;
}

.finance-table-wrap {
    max-height: calc(100vh - 430px) !important;
}

.finance-table th:nth-child(1) { width: 95px; }
.finance-table th:nth-child(2) { width: 90px; }
.finance-table th:nth-child(3) { width: 145px; }
.finance-table th:nth-child(4) { width: 145px; }
.finance-table th:nth-child(5) { width: 135px; }
.finance-table th:nth-child(6) { width: 150px; }
.finance-table th:nth-child(7) { width: 120px; }
.finance-table th:nth-child(8) { width: 280px; }
.finance-table th:nth-child(9) { width: 130px; }
.finance-table th:nth-child(10) { width: 105px; }

.finance-table td:nth-child(8) {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-type {
    min-width: 64px;
    padding: 5px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 900;
}

.finance-type.income {
    border: 1px solid rgba(46, 204, 113, .35);
    background: rgba(46, 204, 113, .16);
    color: #67e69d;
}

.finance-type.expense {
    border: 1px solid rgba(231, 76, 60, .35);
    background: rgba(231, 76, 60, .14);
    color: #ff8c82;
}

.finance-actions-sticky {
    position: sticky;
    right: 0;
    z-index: 12;
    background: #102033 !important;
    box-shadow: -2px 0 0 #2d4359;
    text-align: center;
    white-space: nowrap;
}

.finance-table thead .finance-actions-sticky {
    z-index: 18;
    background: #17283b !important;
}

.finance-form-grid {
    padding: 14px;
}

.finance-form-grid input[inputmode="decimal"] {
    text-align: right;
    font-weight: 800;
}

.finance-fixed-actions {
    position: fixed;
    left: var(--desktop-sidebar-width, 190px);
    right: 0;
    bottom: 0;
    z-index: 5000;
    min-height: 70px;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #30475f;
    background: rgba(7, 17, 29, .98);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, .45);
}

.finance-fixed-actions .desktop-primary-button,
.finance-fixed-actions .desktop-secondary-button {
    min-width: 165px;
    min-height: 42px;
}

.finance-form-page {
    padding-bottom: 96px;
}

@media (max-width: 1250px) {
    .finance-filterbar {
        grid-template-columns: repeat(4, minmax(130px, 1fr));
    }
}

/* =========================================================
   FAZ 44 - PERSONEL HAKEDİŞ ÖDEME
   ========================================================= */

.personnel-payment-summary-grid {
    margin-bottom: 10px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.personnel-payment-summary-grid article {
    min-height: 82px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid #30475f;
    border-top: 3px solid #ff9800;
    background: #0d1a2a;
}

.personnel-payment-summary-grid article.paid {
    border-top-color: #2ecc71;
}

.personnel-payment-summary-grid article.remaining {
    border-top-color: #e74c3c;
}

.personnel-payment-summary-grid span {
    color: #8fa4b7;
    font-size: 10px;
}

.personnel-payment-summary-grid strong {
    margin-top: 6px;
    color: #fff;
    font-size: 19px;
}

.personnel-payment-summary-grid .paid strong {
    color: #58dd91;
}

.personnel-payment-summary-grid .remaining strong {
    color: #ff8278;
}

.personnel-payment-history {
    margin-top: 10px;
    margin-bottom: 22px;
}

.personnel-payment-history .module-table {
    min-width: 900px;
}

.personnel-payment-history .module-table th:last-child,
.personnel-payment-history .module-table td:last-child {
    width: 70px;
    min-width: 70px;
    text-align: center;
}

.personnel-payment-status {
    min-width: 86px;
    padding: 5px 7px;
    display: inline-flex;
    justify-content: center;
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
}

.personnel-payment-status.paid {
    background: rgba(46, 204, 113, .18);
    color: #66e79d;
    border: 1px solid rgba(46, 204, 113, .35);
}

.personnel-payment-status.partial {
    background: rgba(240, 180, 41, .18);
    color: #ffd166;
    border: 1px solid rgba(240, 180, 41, .35);
}

.personnel-payment-status.unpaid {
    background: rgba(231, 76, 60, .14);
    color: #ff8c82;
    border: 1px solid rgba(231, 76, 60, .35);
}

.payroll-table {
    min-width: 1900px !important;
}

@media print {
    .personnel-payment-history,
    #openPersonnelPaymentModal,
    .collection-modal {
        display: none !important;
    }
}

/* =========================================================
   FAZ 46 - PUANTAJ TÜM PROJELER
   ========================================================= */

.monthly-entry-table .sticky-person {
    left: 0 !important;
    min-width: 220px !important;
    width: 220px !important;
}

.monthly-entry-table .sticky-project {
    position: sticky;
    left: 220px;
    z-index: 8;
    min-width: 155px;
    width: 155px;
    max-width: 155px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: #cfe2f3;
    color: #07111c;
}

.monthly-entry-table thead .sticky-project {
    z-index: 13;
    background: #5fa1d3;
}

.monthly-entry-table .sticky-service {
    left: 375px !important;
    min-width: 170px !important;
    width: 170px !important;
}

.monthly-entry-table tbody tr:nth-child(even) .sticky-project {
    background: #bdd7ee;
}

.monthly-entry-table tbody tr:hover .sticky-project {
    background: #afd0ea;
}

/* =========================================================
   FAZ 47 - PERSONEL HAKEDİŞ İŞLEM KOLONU
   ========================================================= */

.payroll-table th:last-child,
.payroll-table td:last-child {
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
}

.personnel-payroll-actions-sticky {
    position: sticky;
    right: 0;
    z-index: 12;
    background: #102033 !important;
    box-shadow: -2px 0 0 #2d4359;
    text-align: center;
    white-space: nowrap;
}

.payroll-table thead .personnel-payroll-actions-sticky {
    z-index: 18;
    background: #17283b !important;
}

.personnel-payroll-actions-sticky .module-icon-button,
.personnel-payroll-actions-sticky .inline-form {
    display: inline-flex;
    vertical-align: middle;
    margin: 0 2px;
}

.personnel-payroll-actions-sticky .module-icon-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
}

.payroll-table-wrap {
    overflow-x: auto !important;
}

/* =========================================================
   FAZ 48 - PERSONEL ÖDEME GEÇMİŞİNİ GÖRÜNÜR YAP
   ========================================================= */

.payroll-detail-page {
    height: calc(100vh - 118px);
    max-height: calc(100vh - 118px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px !important;
    padding-bottom: 28px !important;
    scrollbar-gutter: stable;
}

.payroll-detail-page .module-page-header {
    margin-bottom: 8px !important;
}

.payroll-detail-page .personnel-payment-summary-grid {
    margin-bottom: 8px;
    gap: 8px;
}

.payroll-detail-page .personnel-payment-summary-grid article {
    min-height: 66px;
    padding: 9px 12px;
}

.payroll-detail-page .personnel-payment-summary-grid strong {
    margin-top: 4px;
    font-size: 17px;
}

.payroll-detail-page .detail-panel {
    margin-bottom: 8px;
}

.payroll-detail-page .detail-grid {
    padding: 10px !important;
    gap: 8px;
}

.payroll-detail-page .detail-item {
    min-height: 52px;
    padding: 8px 10px !important;
}

.payroll-detail-page .detail-item span {
    margin-bottom: 3px;
}

.payroll-detail-page .payroll-net-detail {
    min-height: 58px !important;
}

.personnel-payment-history {
    margin-top: 8px !important;
    margin-bottom: 18px !important;
    overflow: visible !important;
}

.personnel-payment-history .module-table-wrap {
    max-height: none !important;
    overflow: visible !important;
}

.personnel-payment-history .module-table {
    min-width: 100% !important;
}

.personnel-payment-history .module-panel-titlebar {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #0d1a2a;
}

@media (max-height: 820px) {
    .payroll-detail-page {
        height: calc(100vh - 100px);
        max-height: calc(100vh - 100px);
    }

    .payroll-detail-page .personnel-payment-summary-grid article {
        min-height: 58px;
    }

    .payroll-detail-page .detail-item {
        min-height: 46px;
    }
}

/* =========================================================
   FAZ 49 - KASA / BANKA HESAPLARI
   ========================================================= */

.cash-bank-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(300px, 1fr) 170px 80px 80px;
    gap: 8px;
    align-items: center;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.cash-bank-check,
.cash-bank-switch {
    min-height: 36px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #d8e2eb;
    font-size: 10px;
}

.cash-bank-check input,
.cash-bank-switch input {
    accent-color: var(--ay-accent);
}

.cash-bank-table {
    min-width: 1320px;
}

.cash-bank-table-wrap {
    max-height: calc(100vh - 430px) !important;
}

.cash-bank-table th:nth-child(1) { width: 190px; }
.cash-bank-table th:nth-child(2) { width: 110px; }
.cash-bank-table th:nth-child(3) { width: 150px; }
.cash-bank-table th:nth-child(4) { width: 260px; }
.cash-bank-table th:nth-child(5),
.cash-bank-table th:nth-child(6),
.cash-bank-table th:nth-child(7) { width: 135px; }
.cash-bank-table th:nth-child(8) { width: 90px; }
.cash-bank-table th:nth-child(9) { width: 90px; }

.iban-cell {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: Consolas, monospace;
    letter-spacing: .3px;
}

.cash-bank-actions-sticky {
    position: sticky;
    right: 0;
    z-index: 12;
    background: #102033 !important;
    box-shadow: -2px 0 0 #2d4359;
    text-align: center;
    white-space: nowrap;
}

.cash-bank-table thead .cash-bank-actions-sticky {
    z-index: 18;
    background: #17283b !important;
}

.cash-bank-form-grid {
    padding: 14px;
}

.cash-bank-active-field {
    justify-content: flex-end;
}

.cash-bank-fixed-actions {
    position: fixed;
    left: var(--desktop-sidebar-width, 190px);
    right: 0;
    bottom: 0;
    z-index: 5000;
    min-height: 70px;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #30475f;
    background: rgba(7, 17, 29, .98);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, .45);
}

.cash-bank-fixed-actions .desktop-primary-button,
.cash-bank-fixed-actions .desktop-secondary-button {
    min-width: 165px;
    min-height: 42px;
}

.cash-bank-form-page {
    padding-bottom: 96px;
}

/* =========================================================
   FAZ 51 - KASA / BANKA YATAY SAYFA KAYMASI DÜZELTME
   ========================================================= */

/* Ana uygulama gövdesi yatay kaydırılmaz. */
.desktop-app-shell,
.desktop-app-body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.desktop-content {
    min-width: 0 !important;
    width: 0;
    max-width: 100%;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Kasa / Banka sayfası ekran genişliğini aşmaz. */
.cash-bank-page {
    width: 100%;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden;
}

.cash-bank-page .module-panel {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.cash-bank-page .module-panel-titlebar,
.cash-bank-page .cash-bank-filterbar {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Yatay kaydırma yalnızca tablo kutusunda kalır. */
.cash-bank-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto !important;
    overflow-y: auto !important;
    overscroll-behavior-x: contain;
    scrollbar-gutter: stable;
}

.cash-bank-table {
    width: 1320px !important;
    min-width: 1320px !important;
    max-width: none !important;
}

/* Sağdaki işlem kolonu tablo içinde sabit kalır. */
.cash-bank-actions-sticky {
    right: 0;
}

/* Filtre alanı dar ekranlarda taşmadan küçülür. */
.cash-bank-filterbar {
    grid-template-columns: minmax(220px, 1fr) 155px 82px 82px;
}

.cash-bank-filterbar > * {
    min-width: 0;
}

@media (max-width: 1250px) {
    .cash-bank-filterbar {
        grid-template-columns: minmax(180px, 1fr) 145px 78px 78px;
    }
}

/* =========================================================
   FAZ 52 - GENEL YATAY KAYMA KALICI DÜZELTME
   Eski max-width:1250 kuralındaki 1240px zorlamasını ezer.
   ========================================================= */

html,
body,
body.desktop-theme-body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.desktop-app-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}

.desktop-app-body {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}

.desktop-sidebar {
    width: 194px !important;
    min-width: 194px !important;
    max-width: 194px !important;
    flex: 0 0 194px !important;
    overflow-x: hidden !important;
}

.desktop-content {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 194px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.module-page,
.cash-bank-page,
.cash-bank-page .module-panel {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

.cash-bank-table-wrap {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
}

.cash-bank-table {
    width: 1320px !important;
    min-width: 1320px !important;
    max-width: none !important;
}

/* Önceki küçük ekran kuralını kesin olarak geçersiz kılar. */
@media (max-width: 1250px) {
    body.desktop-theme-body {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .desktop-app-body {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .desktop-content {
        width: auto !important;
        max-width: calc(100% - 194px) !important;
    }
}

/* =========================================================
   FAZ 53 - KASA / BANKA TABLOSUNU EKRANA SIĞDIRMA
   Önceki 1320px sabit genişlik kaldırıldı.
   ========================================================= */

.cash-bank-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: auto !important;
}

.cash-bank-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

.cash-bank-table th,
.cash-bank-table td {
    min-width: 0 !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Kolonlar yüzdeyle dağıtılır; yatay kaydırma oluşmaz. */
.cash-bank-table th:nth-child(1),
.cash-bank-table td:nth-child(1) { width: 14% !important; }

.cash-bank-table th:nth-child(2),
.cash-bank-table td:nth-child(2) { width: 8% !important; }

.cash-bank-table th:nth-child(3),
.cash-bank-table td:nth-child(3) { width: 11% !important; }

.cash-bank-table th:nth-child(4),
.cash-bank-table td:nth-child(4) { width: 21% !important; }

.cash-bank-table th:nth-child(5),
.cash-bank-table td:nth-child(5) { width: 10% !important; }

.cash-bank-table th:nth-child(6),
.cash-bank-table td:nth-child(6) { width: 9% !important; }

.cash-bank-table th:nth-child(7),
.cash-bank-table td:nth-child(7) { width: 10% !important; }

.cash-bank-table th:nth-child(8),
.cash-bank-table td:nth-child(8) { width: 8% !important; }

.cash-bank-table th:nth-child(9),
.cash-bank-table td:nth-child(9) { width: 9% !important; }

.cash-bank-table .iban-cell {
    max-width: none !important;
    font-size: 10px;
}

.cash-bank-actions-sticky {
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    box-shadow: none !important;
    background: inherit !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.cash-bank-table thead .cash-bank-actions-sticky {
    background: inherit !important;
}

.cash-bank-actions-sticky .module-icon-button {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
}

.cash-bank-filterbar {
    grid-template-columns: minmax(180px, 1fr) 150px 82px 82px !important;
}

@media (max-width: 1200px) {
    .cash-bank-table th,
    .cash-bank-table td {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 9px !important;
    }

    .cash-bank-table .iban-cell {
        font-size: 8.5px !important;
    }

    .cash-bank-actions-sticky .module-icon-button {
        width: 27px !important;
        min-width: 27px !important;
        height: 27px !important;
    }
}

/* =========================================================
   FAZ 54 - FİNANS HESAP KONTROLÜ
   ========================================================= */

.required-mark {
    color: #ff6262;
    font-weight: 800;
}

.field-help {
    display: block;
    margin-top: 4px;
    color: #7fa2c4;
    font-size: 9px;
    line-height: 1.25;
}

.finance-account-warning {
    margin-bottom: 10px;
    border-color: #b47400 !important;
    background: rgba(255, 152, 0, .10) !important;
    color: #ffd180 !important;
}

.finance-account-warning a {
    color: #ff9800;
    font-weight: 800;
    text-decoration: none;
}

.finance-account-warning a:hover {
    text-decoration: underline;
}

/* =========================================================
   FAZ 55 - FİNANS TABLOSUNU EKRANA SIĞDIRMA
   ========================================================= */

.finance-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.finance-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

.finance-table th,
.finance-table td {
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Finans kolonlarını ekran genişliğine dağıt */
.finance-table th:nth-child(1),
.finance-table td:nth-child(1) { width: 8% !important; }   /* Tarih */

.finance-table th:nth-child(2),
.finance-table td:nth-child(2) { width: 8% !important; }   /* Hareket */

.finance-table th:nth-child(3),
.finance-table td:nth-child(3) { width: 11% !important; }  /* İşlem Türü */

.finance-table th:nth-child(4),
.finance-table td:nth-child(4) { width: 12% !important; }  /* Kaynak */

.finance-table th:nth-child(5),
.finance-table td:nth-child(5) { width: 11% !important; }  /* Proje */

.finance-table th:nth-child(6),
.finance-table td:nth-child(6) { width: 12% !important; }  /* Kasa / Banka */

.finance-table th:nth-child(7),
.finance-table td:nth-child(7) { width: 10% !important; }  /* Ödeme Tipi */

.finance-table th:nth-child(8),
.finance-table td:nth-child(8) { width: 20% !important; }  /* Açıklama */

.finance-table th:nth-child(9),
.finance-table td:nth-child(9) { width: 8% !important; }   /* Tutar */

.finance-table .module-actions {
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.finance-table .module-actions .module-icon-button {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    margin: 0 2px;
}

.finance-table td:nth-child(8) {
    white-space: nowrap !important;
}

.finance-table td:nth-child(9) {
    font-weight: 700;
}

@media (max-width: 1250px) {
    .finance-table th,
    .finance-table td {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 9px !important;
    }

    .finance-table .module-actions .module-icon-button {
        width: 27px !important;
        min-width: 27px !important;
        height: 27px !important;
    }
}

/* =========================================================
   FAZ 56 - RAPORLAR MODÜLÜ
   ========================================================= */

.reports-filterbar {
    display: grid;
    grid-template-columns: 180px 130px minmax(240px, 1fr) 90px 90px;
    gap: 8px;
    margin-bottom: 10px;
}

.reports-filterbar select,
.reports-filterbar input {
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
    outline: none;
}

.reports-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.reports-summary-grid .ay-summary-card {
    min-width: 0;
}

.reports-summary-grid .ay-summary-card-value {
    font-size: 22px;
}

.reports-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 10px;
}

.reports-two-column .module-panel {
    min-width: 0;
}

.reports-table-wrap,
.reports-last-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}

.reports-table,
.reports-last-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
}

.reports-table th,
.reports-table td,
.reports-last-table th,
.reports-last-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-income {
    color: #42e695 !important;
    font-weight: 800;
}

.report-expense {
    color: #ff6b66 !important;
    font-weight: 800;
}

.reports-last-panel {
    margin-bottom: 24px;
}

.reports-last-table th:nth-child(1) { width: 9%; }
.reports-last-table th:nth-child(2) { width: 10%; }
.reports-last-table th:nth-child(3) { width: 16%; }
.reports-last-table th:nth-child(4) { width: 16%; }
.reports-last-table th:nth-child(5) { width: 17%; }
.reports-last-table th:nth-child(6) { width: 18%; }
.reports-last-table th:nth-child(7) { width: 14%; }

@media (max-width: 1300px) {
    .reports-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1000px) {
    .reports-two-column {
        grid-template-columns: 1fr;
    }

    .reports-filterbar {
        grid-template-columns: 1fr 120px 1fr 80px 80px;
    }
}

/* =========================================================
   FAZ 57 - RAPOR KARTLARI + EXCEL BUTONU
   ========================================================= */

.reports-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.reports-summary-grid .ay-summary-card {
    min-height: 108px;
}

.reports-excel-button {
    min-width: 142px;
    min-height: 40px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #269b63;
    border-radius: 2px;
    background: #249b62;
    color: #fff !important;
    font-family: inherit;
    font-size: 13px;
    font-weight: 750;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none;
    cursor: pointer;
}

.reports-excel-button > span {
    font-size: 15px;
    line-height: 1;
}

.reports-excel-button:hover {
    border-color: #31b875;
    background: #2cad70;
    color: #fff !important;
    text-decoration: none !important;
}

.reports-excel-button:focus,
.reports-excel-button:active {
    color: #fff !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(46, 204, 113, .15);
}

@media (max-width: 1300px) {
    .reports-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* =========================================================
   FAZ 58 - FİNANS SAĞ TAŞMA DÜZELTME
   10 kolonun toplam genişliği yeniden dağıtıldı.
   ========================================================= */

.finance-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}

.finance-page .standardized-page-header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-right: 0 !important;
}

.finance-page .header-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    max-width: 340px;
}

.finance-page .header-actions .desktop-action-button {
    min-width: 116px;
    min-height: 40px;
    padding: 0 14px;
    white-space: nowrap;
}

.finance-page .module-panel,
.finance-page .finance-filterbar,
.finance-page .finance-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.finance-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

/* 10 kolon = toplam %100 */
.finance-table th:nth-child(1),
.finance-table td:nth-child(1) { width: 7.5% !important; }   /* Tarih */

.finance-table th:nth-child(2),
.finance-table td:nth-child(2) { width: 7% !important; }     /* Hareket */

.finance-table th:nth-child(3),
.finance-table td:nth-child(3) { width: 10% !important; }    /* İşlem Türü */

.finance-table th:nth-child(4),
.finance-table td:nth-child(4) { width: 11% !important; }    /* Kaynak */

.finance-table th:nth-child(5),
.finance-table td:nth-child(5) { width: 9% !important; }     /* Proje */

.finance-table th:nth-child(6),
.finance-table td:nth-child(6) { width: 10.5% !important; }  /* Kasa / Banka */

.finance-table th:nth-child(7),
.finance-table td:nth-child(7) { width: 9% !important; }     /* Ödeme Tipi */

.finance-table th:nth-child(8),
.finance-table td:nth-child(8) { width: 19% !important; }    /* Açıklama */

.finance-table th:nth-child(9),
.finance-table td:nth-child(9) { width: 10% !important; }    /* Tutar */

.finance-table th:nth-child(10),
.finance-table td:nth-child(10) { width: 7% !important; }    /* İşlemler */

.finance-table th,
.finance-table td {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-table th:nth-child(10),
.finance-table td:nth-child(10) {
    overflow: visible !important;
    text-overflow: clip !important;
    text-align: center !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
}

.finance-actions-sticky,
.finance-table .finance-actions-sticky,
.finance-table .module-actions {
    position: static !important;
    right: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    box-shadow: none !important;
    background: inherit !important;
    white-space: nowrap !important;
}

.finance-table thead .finance-actions-sticky {
    background: var(--ay-grid-head) !important;
}

.finance-table .module-icon-button {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    margin: 0 1px !important;
    padding: 0 !important;
}

.finance-filterbar {
    grid-template-columns:
        10% 8% 11% 14% 14%
        minmax(190px, 1fr) 72px 74px !important;
    gap: 7px !important;
}

.finance-filterbar > * {
    min-width: 0 !important;
}

@media (max-width: 1250px) {
    .finance-page .header-actions {
        max-width: 300px;
    }

    .finance-page .header-actions .desktop-action-button {
        min-width: 105px;
        padding: 0 10px;
        font-size: 11px;
    }

    .finance-table th,
    .finance-table td {
        padding-left: 5px !important;
        padding-right: 5px !important;
        font-size: 9px !important;
    }

    .finance-table .module-icon-button {
        width: 25px !important;
        min-width: 25px !important;
        height: 25px !important;
    }
}

/* =========================================================
   FAZ 59 - RAPOR KARTLARINI TEK SIRAYA DARALT
   ========================================================= */

.reports-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
}

.reports-summary-grid .ay-summary-card {
    min-width: 0 !important;
    min-height: 92px !important;
    height: 92px !important;
    padding: 12px 10px 10px 50px !important;
    border-radius: 8px !important;
}

.reports-summary-grid .ay-summary-card-accent {
    inset: 14px auto 14px 0 !important;
    width: 4px !important;
}

.reports-summary-grid .ay-summary-card-icon {
    left: 17px !important;
    top: 31px !important;
    width: 24px !important;
    font-size: 20px !important;
}

.reports-summary-grid .ay-summary-card-title {
    font-size: 11px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.reports-summary-grid .ay-summary-card-value {
    margin-top: 2px !important;
    font-size: 20px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.reports-summary-grid .ay-summary-card-note {
    margin-top: 4px !important;
    font-size: 8.5px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 1350px) {
    .reports-summary-grid {
        gap: 6px !important;
    }

    .reports-summary-grid .ay-summary-card {
        min-height: 86px !important;
        height: 86px !important;
        padding: 10px 7px 8px 43px !important;
    }

    .reports-summary-grid .ay-summary-card-icon {
        left: 13px !important;
        top: 29px !important;
        font-size: 18px !important;
    }

    .reports-summary-grid .ay-summary-card-title {
        font-size: 10px !important;
    }

    .reports-summary-grid .ay-summary-card-value {
        font-size: 18px !important;
    }

    .reports-summary-grid .ay-summary-card-note {
        font-size: 8px !important;
    }
}

/* =========================================================
   FAZ 60 - ARAÇ YÖNETİMİ
   ========================================================= */

.vehicle-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 180px 85px 85px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.vehicle-filterbar select {
    min-width: 0;
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
}

.vehicle-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}

.vehicle-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
}

.vehicle-table th:nth-child(1) { width: 9%; }
.vehicle-table th:nth-child(2) { width: 15%; }
.vehicle-table th:nth-child(3) { width: 6%; }
.vehicle-table th:nth-child(4) { width: 9%; }
.vehicle-table th:nth-child(5) { width: 8%; }
.vehicle-table th:nth-child(6) { width: 8%; }
.vehicle-table th:nth-child(7) { width: 14%; }
.vehicle-table th:nth-child(8) { width: 11%; }
.vehicle-table th:nth-child(9) { width: 9%; }
.vehicle-table th:nth-child(10) { width: 11%; }

.vehicle-status {
    min-width: 62px;
    min-height: 26px;
    padding: 0 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    background: #267344;
}

.vehicle-status.bakimda {
    background: #9b6b17;
}

.vehicle-status.pasif {
    background: #5e6a76;
}

.vehicle-form-grid {
    padding: 4px 0;
}

.vehicle-detail-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.vehicle-detail-summary article {
    min-height: 78px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid #30475f;
    border-top: 3px solid var(--ay-accent);
    background: #0d1a2a;
}

.vehicle-detail-summary span {
    color: #8fa4b7;
    font-size: 10px;
}

.vehicle-detail-summary strong {
    margin-top: 5px;
    font-size: 18px;
}

.vehicle-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr);
    gap: 10px;
    margin-bottom: 10px;
}

.vehicle-quick-form {
    padding: 10px;
    display: grid;
    grid-template-columns: 130px 150px 120px 110px 130px 130px 130px minmax(180px, 1fr);
    gap: 7px;
    align-items: center;
}

.vehicle-quick-form input,
.vehicle-quick-form select,
.vehicle-zimmet-form input,
.vehicle-zimmet-form select {
    width: 100%;
    min-width: 0;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
}

.vehicle-quick-form button {
    grid-column: 1 / -1;
    justify-self: end;
    min-width: 155px;
}

.vehicle-zimmet-form {
    padding: 10px;
    display: grid;
    grid-template-columns: 1fr 130px;
    gap: 7px;
}

.vehicle-zimmet-form input[type="text"] {
    grid-column: 1 / -1;
}

.vehicle-zimmet-form button {
    grid-column: 1 / -1;
    justify-self: end;
    min-width: 120px;
}

.vehicle-zimmet-close {
    padding: 0 10px 10px;
    display: flex;
    justify-content: flex-end;
}

.vehicle-history-panel {
    margin-bottom: 20px;
}

.vehicle-history-wrap {
    max-height: 280px !important;
    overflow-x: hidden !important;
}

.vehicle-history-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
}

.vehicle-history-table th:nth-child(1) { width: 10%; }
.vehicle-history-table th:nth-child(2) { width: 12%; }
.vehicle-history-table th:nth-child(3) { width: 11%; }
.vehicle-history-table th:nth-child(4) { width: 9%; }
.vehicle-history-table th:nth-child(5) { width: 12%; }
.vehicle-history-table th:nth-child(6) { width: 12%; }
.vehicle-history-table th:nth-child(7) { width: 12%; }
.vehicle-history-table th:nth-child(8) { width: 22%; }

@media (max-width: 1300px) {
    .vehicle-quick-form {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .vehicle-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   FAZ 61 - ARAÇ HATIRLATMA ALANLARI
   ========================================================= */

.vehicle-quick-form-labeled {
    padding: 11px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
    align-items: start !important;
}

.vehicle-field {
    min-width: 0;
}

.vehicle-field label {
    margin-bottom: 5px;
    display: block;
    color: #dce4ed;
    font-size: 10px;
    font-weight: 700;
}

.vehicle-field input,
.vehicle-field select {
    width: 100%;
    min-width: 0;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
    outline: none;
}

.vehicle-field input:focus,
.vehicle-field select:focus {
    border-color: var(--ay-accent);
}

.vehicle-reminder-field {
    position: relative;
    padding: 7px;
    border: 1px solid rgba(255, 152, 0, .38);
    background: rgba(255, 152, 0, .05);
}

.vehicle-reminder-field label {
    color: #ffb347;
}

.vehicle-reminder-field small {
    margin-top: 5px;
    display: block;
    color: #9eb0c3;
    font-size: 8.5px;
    line-height: 1.2;
}

.vehicle-description-field {
    grid-column: span 1;
}

.vehicle-quick-form-actions {
    grid-column: 1 / -1;
    min-height: 42px;
    padding-top: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.vehicle-reminder-note {
    color: #9eb0c3;
    font-size: 9px;
}

.vehicle-quick-form-actions .desktop-primary-button {
    min-width: 160px;
}

@media (max-width: 1300px) {
    .vehicle-quick-form-labeled {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* =========================================================
   FAZ 62 - BİLDİRİMLER / ARAÇ HATIRLATMALARI
   ========================================================= */

.notifications-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.notifications-list {
    padding: 0;
}

.notification-row {
    min-height: 86px;
    padding: 12px 14px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    border-bottom: 1px solid #263b52;
    background: #0a1728;
}

.notification-row:last-child {
    border-bottom: 0;
}

.notification-row.unread {
    background: #102039;
}

.notification-row.read {
    opacity: .72;
}

.notification-row.overdue {
    box-shadow: inset 4px 0 0 #e74c3c;
}

.notification-row.today {
    box-shadow: inset 4px 0 0 #ff9800;
}

.notification-row.upcoming {
    box-shadow: inset 4px 0 0 #3498db;
}

.notification-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #30475f;
    background: #111f31;
    color: #ff9800;
    font-size: 18px;
    font-weight: 900;
}

.notification-content {
    min-width: 0;
}

.notification-heading {
    display: flex;
    align-items: center;
    gap: 8px;
}

.notification-heading strong {
    color: #fff;
    font-size: 13px;
}

.notification-new-badge {
    padding: 2px 7px;
    background: #267344;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
}

.notification-content p {
    margin: 5px 0;
    color: #b9c7d7;
    font-size: 11px;
    line-height: 1.35;
}

.notification-meta {
    display: flex;
    gap: 12px;
    color: #8fa4b7;
    font-size: 9px;
}

.notification-meta b {
    color: #ffb347;
}

.notification-row.overdue .notification-meta b {
    color: #ff6b66;
}

.notification-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.notification-actions .desktop-action-button,
.notification-actions .desktop-secondary-button {
    min-height: 34px;
    padding: 0 11px;
    font-size: 10px;
}

.notifications-empty {
    min-height: 150px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    color: #91a4b9;
    text-align: center;
}

.notifications-empty strong {
    color: #dce5ee;
}

@media (max-width: 1100px) {
    .notification-row {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .notification-actions {
        grid-column: 2;
        justify-content: flex-start;
    }
}

/* =========================================================
   FAZ 63 - DEPO YÖNETİMİ
   ========================================================= */

.warehouse-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 10px;
}

.warehouse-table-wrap,
.warehouse-history-wrap {
    overflow-x: hidden !important;
}

.warehouse-table,
.warehouse-critical-table,
.warehouse-history-table,
.warehouse-material-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
}

.warehouse-critical-badge {
    min-width: 58px;
    min-height: 26px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #8e2e35;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.warehouse-movement {
    min-width: 54px;
    min-height: 25px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 900;
}

.warehouse-movement.in {
    background: rgba(46, 204, 113, .16);
    border: 1px solid rgba(46, 204, 113, .35);
    color: #67e69d;
}

.warehouse-movement.out {
    background: rgba(231, 76, 60, .14);
    border: 1px solid rgba(231, 76, 60, .35);
    color: #ff8c82;
}

.warehouse-history-panel {
    margin-bottom: 20px;
}

.warehouse-history-wrap {
    max-height: 300px !important;
}

.warehouse-history-table th:nth-child(1) { width: 9%; }
.warehouse-history-table th:nth-child(2) { width: 12%; }
.warehouse-history-table th:nth-child(3) { width: 16%; }
.warehouse-history-table th:nth-child(4) { width: 9%; }
.warehouse-history-table th:nth-child(5) { width: 10%; }
.warehouse-history-table th:nth-child(6) { width: 13%; }
.warehouse-history-table th:nth-child(7) { width: 13%; }
.warehouse-history-table th:nth-child(8) { width: 18%; }

.warehouse-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 85px 85px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.warehouse-material-table th:nth-child(1) { width: 28%; }
.warehouse-material-table th:nth-child(2) { width: 12%; }
.warehouse-material-table th:nth-child(3) { width: 18%; }
.warehouse-material-table th:nth-child(4) { width: 18%; }
.warehouse-material-table th:nth-child(5) { width: 12%; }
.warehouse-material-table th:nth-child(6) { width: 12%; }

@media (max-width: 1100px) {
    .warehouse-two-column {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   FAZ 64 - MALZEME DÜZENLEME / BENZERSİZLİK
   ========================================================= */

.warehouse-material-table th:nth-child(1) { width: 24% !important; }
.warehouse-material-table th:nth-child(2) { width: 10% !important; }
.warehouse-material-table th:nth-child(3) { width: 16% !important; }
.warehouse-material-table th:nth-child(4) { width: 16% !important; }
.warehouse-material-table th:nth-child(5) { width: 11% !important; }
.warehouse-material-table th:nth-child(6) { width: 11% !important; }
.warehouse-material-table th:nth-child(7) { width: 12% !important; }

.warehouse-material-actions {
    white-space: nowrap;
    text-align: center;
}

.warehouse-material-actions .module-icon-button {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    margin: 0 2px !important;
}

/* =========================================================
   FAZ 65 - KRİTİK STOK BİLDİRİMLERİ
   ========================================================= */

.notification-type-badge {
    padding: 2px 7px;
    border: 1px solid #35506a;
    background: #142438;
    color: #a7b8ca;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.notification-type-badge.stock {
    border-color: rgba(231, 76, 60, .45);
    background: rgba(231, 76, 60, .10);
    color: #ff8c82;
}

.notification-type-badge.workflow {
    color: #ffd166;
    border-color: rgba(255, 209, 102, .55);
    background: rgba(255, 152, 0, .12);
}

.notification-type-badge.vehicle {
    border-color: rgba(52, 152, 219, .45);
    background: rgba(52, 152, 219, .10);
    color: #7ec7f8;
}

/* =========================================================
   FAZ 67 - GÜNLÜK ONAYLAR
   ========================================================= */

.daily-approval-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 150px 145px 125px 125px 68px 68px;
    gap: 8px;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.daily-approval-filterbar select,
.daily-approval-filterbar input[type="date"] {
    width: 100%;
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    border-radius: 2px;
    outline: 0;
    background: #111f31;
    color: #f3f6fa;
    color-scheme: dark;
    font-family: inherit;
    font-size: 11px;
}

.daily-approval-filterbar select:focus,
.daily-approval-filterbar input[type="date"]:focus {
    border-color: var(--ay-accent);
}

.daily-approval-filterbar select option {
    background: #111f31;
    color: #f3f6fa;
}

.daily-approval-table-wrap {
    overflow-x: hidden !important;
}

.daily-approval-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
}

.daily-approval-table th:nth-child(1) { width: 13%; }
.daily-approval-table th:nth-child(2) { width: 13%; }
.daily-approval-table th:nth-child(3) { width: 11%; }
.daily-approval-table th:nth-child(4) { width: 10%; }
.daily-approval-table th:nth-child(5) { width: 10%; }
.daily-approval-table th:nth-child(6) { width: 12%; }
.daily-approval-table th:nth-child(7) { width: 13%; }
.daily-approval-table th:nth-child(8) { width: 9%; }
.daily-approval-table th:nth-child(9) { width: 9%; }

.daily-approval-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.daily-approval-amount {
    color: #f7b955;
    font-weight: 800;
}

.daily-approval-money {
    font-size: clamp(18px, 1.5vw, 25px) !important;
    white-space: nowrap;
}

@media (max-width: 1250px) {
    .daily-approval-filterbar {
        grid-template-columns: minmax(220px, 1fr) repeat(2, 130px) repeat(2, 115px) 64px 64px;
    }
}

/* =========================================================
   FAZ 69 - PERSONEL ÜCRET AYARLARI YATAY KAYMA DÜZELTMESİ
   ========================================================= */

.wage-settings-page {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-right: 12px !important;
    overflow-x: hidden !important;
}

.wage-settings-page .standardized-page-header,
.wage-settings-page .module-panel,
.wage-settings-page form {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.wage-settings-page .standardized-page-header .desktop-back-button {
    max-width: 190px;
    padding-right: 12px;
    padding-left: 12px;
    white-space: nowrap;
}

.wage-settings-page .wage-general-form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(172px, auto);
}

.wage-settings-page .wage-general-form > *,
.wage-settings-page .wage-searchbar > * {
    min-width: 0;
}

.wage-settings-page .wage-table-wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.wage-settings-page .wage-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed;
}

.wage-settings-page .wage-table th,
.wage-settings-page .wage-table td {
    min-width: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wage-settings-page .wage-table select,
.wage-settings-page .wage-table input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.wage-settings-page .wage-warning,
.wage-settings-page .wage-ready {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1250px) {
    .wage-settings-page .wage-general-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   FAZ 70 - ÜCRET AYARLARI TAM EKRAN / BUTON HİZASI
   ========================================================= */

body.desktop-theme-body:has(.wage-settings-page),
.desktop-app-shell:has(.wage-settings-page) {
    height: 100vh !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.desktop-app-body:has(.wage-settings-page),
.desktop-content:has(.wage-settings-page) {
    min-height: 0 !important;
    overflow: hidden !important;
}

.wage-settings-page {
    height: 100% !important;
    min-height: 0 !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
}

.wage-settings-page > .standardized-page-header,
.wage-settings-page > .wage-general-panel {
    flex: 0 0 auto;
}

.wage-settings-page > .module-panel:last-child {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.wage-settings-page > .module-panel:last-child > form:last-child {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.wage-settings-page .wage-searchbar,
.wage-settings-page .wage-save-actions {
    flex: 0 0 auto;
}

.wage-settings-page .wage-table-wrap {
    flex: 1 1 auto;
    min-height: 0 !important;
    max-height: none !important;
}

.wage-settings-page .wage-general-form > .desktop-primary-button {
    align-self: start;
    justify-self: stretch;
    height: 36px;
    min-height: 36px;
    margin-top: 24px;
}

@media (max-width: 1250px) {
    .wage-settings-page .wage-general-form > .desktop-primary-button {
        margin-top: 0;
    }
}

/* =========================================================
   FAZ 71 - PUANTAJ ÖZET KARTLARI
   ========================================================= */

.monthly-entry-page .puantaj-summary-grid {
    margin-bottom: 12px;
}

.monthly-entry-page .monthly-entry-table-wrap {
    max-height: calc(100vh - 440px);
}

/* =========================================================
   FAZ 72 - GRUPLU / ROL BAZLI SOL MENÜ
   ========================================================= */

.desktop-sidebar nav {
    padding-top: 34px;
    padding-bottom: 18px;
}

.desktop-menu-group {
    width: 100%;
}

.desktop-menu-toggle {
    width: 100%;
    height: 38px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #f5f7fb;
    font-family: inherit;
    font-size: 16px;
    font-weight: 650;
    text-align: left;
    cursor: pointer;
}

.desktop-menu-toggle:hover,
.desktop-menu-group.active-group > .desktop-menu-toggle {
    background: var(--ay-sidebar-hover);
    color: var(--ay-accent);
}

.desktop-menu-toggle > span {
    width: 13px;
    flex: 0 0 13px;
    color: var(--ay-accent);
    font-size: 13px;
    text-align: center;
}

.desktop-menu-toggle > strong {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font: inherit;
}

.desktop-menu-toggle > i {
    flex: 0 0 auto;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    transition: transform .15s ease;
}

.desktop-menu-group.open > .desktop-menu-toggle > i {
    transform: rotate(180deg);
}

.desktop-submenu {
    display: none;
    padding: 2px 0 4px;
    background: rgba(12, 28, 45, .72);
}

.desktop-menu-group.open > .desktop-submenu {
    display: block;
}

.desktop-submenu-link {
    position: relative;
    min-height: 33px;
    padding: 0 10px 0 36px;
    display: flex;
    align-items: center;
    color: #c9d5e1;
    font-size: 13px;
    font-weight: 650;
}

.desktop-submenu-link::before {
    position: absolute;
    left: 21px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #60758a;
    content: "";
}

.desktop-submenu-link:hover {
    color: #fff;
    background: var(--ay-sidebar-hover);
}

.desktop-submenu-link.active {
    color: var(--ay-accent);
    background: var(--ay-sidebar-active);
}

.desktop-submenu-link.active::before {
    background: var(--ay-accent);
}

/* =========================================================
   FAZ 73 - PERSONEL TALEP
   ========================================================= */

.personnel-request-page,
.personnel-request-form-page {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.personnel-request-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) 160px 135px 135px 70px 70px;
    gap: 8px;
    align-items: center;
    border-bottom: 1px solid var(--ay-border);
    background: #091525;
}

.personnel-request-filterbar > * {
    min-width: 0;
}

.personnel-request-filterbar select {
    width: 100%;
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    border-radius: 2px;
    outline: 0;
    background: #111f31;
    color: #f3f6fa;
    color-scheme: dark;
    font-family: inherit;
    font-size: 11px;
}

.personnel-request-filterbar select:focus {
    border-color: var(--ay-accent);
}

.personnel-request-filterbar select option {
    background: #111f31;
    color: #f3f6fa;
}

.personnel-request-table-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden !important;
}

.personnel-request-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed;
}

.personnel-request-table th:nth-child(1) { width: 13%; }
.personnel-request-table th:nth-child(2) { width: 13%; }
.personnel-request-table th:nth-child(3) { width: 9%; }
.personnel-request-table th:nth-child(4) { width: 14%; }
.personnel-request-table th:nth-child(5) { width: 10%; }
.personnel-request-table th:nth-child(6) { width: 10%; }
.personnel-request-table th:nth-child(7) { width: 12%; }
.personnel-request-table th:nth-child(8) { width: 19%; }

.personnel-request-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.personnel-request-amount {
    color: #f7b955;
    font-weight: 800;
}

.personnel-request-form-page .desktop-form-panel {
    width: 100%;
    max-width: 1100px;
}

.personnel-request-form input[type="date"],
.personnel-request-form input[type="time"] {
    color-scheme: dark;
}

.personnel-request-form select:disabled {
    opacity: .78;
    cursor: not-allowed;
}

@media (max-width: 1250px) {
    .personnel-request-filterbar {
        grid-template-columns: minmax(200px, 1fr) 140px 120px 120px 65px 65px;
    }
}

/* =========================================================
   TAMAMLAMA - ATAMA / ONAY / FİNANS / VARLIK / AYARLAR
   ========================================================= */

.assignment-page,
.approval-page,
.overtime-page,
.overtime-form-page,
.finance-extra-page,
.asset-page,
.settings-module-page {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}

.single-project-filter,
.two-select-form,
.date-filter-form,
.warehouse-filterbar,
.log-filterbar,
.user-create-form {
    padding: 10px;
    display: grid;
    gap: 9px;
    align-items: center;
    border-bottom: 1px solid #263b52;
    background: #091525;
}

.single-project-filter { grid-template-columns: minmax(240px, 1fr) 90px; }
.two-select-form { grid-template-columns: minmax(220px, 1fr) minmax(180px, 1fr) 150px; }
.date-filter-form { grid-template-columns: 170px 170px 100px; }
.warehouse-filterbar { grid-template-columns: minmax(150px, 1fr) minmax(190px, 1fr) 135px 85px; }
.log-filterbar { grid-template-columns: minmax(260px, 1fr) 170px 150px 75px 75px; }
.user-create-form { grid-template-columns: repeat(3, minmax(130px, 1fr)) repeat(3, minmax(150px, 1fr)) 150px; }

.single-project-filter > *,
.two-select-form > *,
.date-filter-form > *,
.warehouse-filterbar > *,
.log-filterbar > *,
.user-create-form > * { min-width: 0; }

.single-project-filter select,
.single-project-filter input,
.two-select-form select,
.two-select-form input,
.date-filter-form input,
.warehouse-filterbar select,
.log-filterbar select,
.log-filterbar input[type="date"],
.user-create-form input,
.user-create-form select,
.inline-edit-row input,
.approval-actions input {
    width: 100%;
    height: 36px;
    padding: 0 9px;
    border: 1px solid #30475f;
    border-radius: 2px;
    outline: 0;
    background: #111f31;
    color: #f3f6fa;
    color-scheme: dark;
    font-family: inherit;
    font-size: 11px;
}

.assignment-columns,
.settings-two-column {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.assignment-table-wrap { max-height: calc(100vh - 510px) !important; }

.desktop-primary-button.compact,
.desktop-secondary-button.compact,
.desktop-danger-button.compact {
    min-height: 30px;
    padding: 5px 9px;
    font-size: 10px;
    white-space: nowrap;
}

.desktop-danger-button {
    border: 1px solid #a84444;
    border-radius: 2px;
    background: #522329;
    color: #fff;
    font-family: inherit;
    font-weight: 750;
    cursor: pointer;
}

.approval-filterbar {
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 150px 125px 125px 65px 65px;
    gap: 8px;
    border-bottom: 1px solid #263b52;
    background: #091525;
}

.approval-filterbar select {
    min-width: 0;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #30475f;
    background: #111f31;
    color: #fff;
    color-scheme: dark;
    font-size: 11px;
}

.approval-table-wrap,
.overtime-table-wrap { overflow-x: hidden !important; }
.approval-table,
.overtime-table { width: 100% !important; min-width: 0 !important; table-layout: fixed; }
.approval-table th:nth-child(9),
.overtime-table th:nth-child(9) { width: 180px !important; }

.approval-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.approval-actions form { display: flex; align-items: center; gap: 4px; margin: 0; }
.approval-actions input { width: 90px; height: 30px; }

.multi-personnel-list {
    min-height: 90px;
    max-height: 190px;
    padding: 8px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    overflow-y: auto;
    border: 1px solid #30475f;
    background: #0b1828;
}

.multi-personnel-list label {
    min-height: 34px;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #263b52;
    background: #111f31;
    color: #dce5ee;
    font-size: 11px;
}

.multi-personnel-list input { width: auto; min-height: auto; }
.field-note-box { min-height: 36px; padding: 9px; border: 1px solid #30475f; background: #0b1828; color: #91a4b9; font-size: 10px; }
.money-small { font-size: clamp(16px, 1.35vw, 23px) !important; white-space: nowrap; }
.positive-money { color: #54dc8e; font-weight: 800; }
.negative-money { color: #ff7474; font-weight: 800; }

.list-toggle { padding: 8px 10px; display: flex; gap: 8px; border-bottom: 1px solid #263b52; background: #091525; }
.list-toggle a { min-height: 32px; padding: 7px 11px; border: 1px solid #38536e; background: #13243a; color: #dce5ee; font-size: 11px; font-weight: 700; }
.finance-form-panel { max-width: 1280px; }
.three-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.inline-edit-row,
.inline-edit-row form { display: flex; align-items: center; gap: 5px; }
.inline-edit-row form:first-child { flex: 1; }
.inline-edit-row input { height: 30px; }
.log-table-wrap { max-height: calc(100vh - 230px) !important; }

@media (max-width: 1350px) {
    .user-create-form { grid-template-columns: repeat(4, minmax(130px, 1fr)); }
    .multi-personnel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
    .assignment-columns,
    .settings-two-column { grid-template-columns: 1fr; }
    .approval-filterbar { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
    .user-create-form { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}

.header-login-link,
.header-login-form button {
    margin-top: 5px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #8fb6da;
    font-family: inherit;
    font-size: 10px;
    cursor: pointer;
}

.header-login-link:hover,
.header-login-form button:hover { color: var(--ay-accent); }

.login-body {
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: radial-gradient(circle at top, #142840 0, #07111e 48%, #040a12 100%);
    color: #fff;
    font-family: "Segoe UI", Arial, sans-serif;
}

.login-card {
    width: min(440px, 100%);
    padding: 28px;
    border: 1px solid #2c435a;
    border-top: 3px solid var(--ay-accent);
    background: #0b192a;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
}

.login-brand { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid #263b52; }
.login-brand img { width: 58px; height: 58px; border-radius: 12px; }
.login-brand strong { display: block; font-size: 27px; letter-spacing: 2px; }
.login-brand strong span { color: var(--ay-accent); }
.login-brand small { display: block; margin-top: 4px; color: #93a8bc; }
.login-heading { margin: 22px 0 16px; }
.login-heading h1 { margin: 0; font-size: 22px; }
.login-heading p { margin: 5px 0 0; color: #93a8bc; font-size: 12px; }
.login-form { display: grid; gap: 7px; }
.login-form label { margin-top: 7px; font-size: 12px; font-weight: 700; }
.login-form > input:not([type="hidden"]) { height: 42px; padding: 0 11px; border: 1px solid #30475f; outline: 0; background: #111f31; color: #fff; }
.login-form > input:focus { border-color: var(--ay-accent); }
.login-form > input:-webkit-autofill,
.login-form > input:-webkit-autofill:hover,
.login-form > input:-webkit-autofill:focus,
.login-form > input:autofill {
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff;
    -webkit-box-shadow: 0 0 0 1000px #111f31 inset !important;
    box-shadow: 0 0 0 1000px #111f31 inset !important;
    border-color: var(--ay-accent);
    transition: background-color 9999s ease-out 0s;
}
.login-form > span { color: #ff7474; font-size: 10px; }
.login-form .remember-row { display: flex; align-items: center; gap: 7px; color: #b9c7d4; font-weight: 500; }
.login-form .remember-row input { width: auto; }
.login-form button { min-height: 43px; margin-top: 10px; border: 0; background: var(--ay-accent); color: #07111d; font-family: inherit; font-weight: 850; cursor: pointer; }
.demo-link { margin-top: 16px; display: block; text-align: center; color: #8fb6da; font-size: 11px; }
.access-denied-panel { min-height: 180px; display: grid; place-content: center; gap: 8px; text-align: center; }
.access-denied-panel strong { color: #ff7474; font-size: 18px; }
.access-denied-panel span { color: #93a8bc; }

/* Yemek kartı modülü */
.meal-card-page .header-action-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.meal-calc-form,
.meal-filter-form,
.meal-card-entry-form {
    padding: 14px;
    display: grid;
    align-items: end;
    gap: 12px;
    background: #091525;
}

.meal-calc-form { grid-template-columns: 110px 170px minmax(220px, 1fr) 210px 165px; }
.meal-filter-form { grid-template-columns: 110px 170px minmax(220px, 1fr) 190px 140px; }
.meal-card-entry-form { grid-template-columns: repeat(4, minmax(160px, 1fr)); }
.meal-description-field { grid-column: span 3; }

.meal-calc-form > div,
.meal-filter-form > div,
.meal-card-entry-form > div {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.meal-calc-form label,
.meal-filter-form label,
.meal-card-entry-form label {
    color: #aebdcc;
    font-size: 11px;
    font-weight: 700;
}

.meal-calc-form input,
.meal-calc-form select,
.meal-filter-form input,
.meal-filter-form select,
.meal-card-entry-form input,
.meal-card-entry-form select,
.meal-card-action-form input,
.meal-card-action-form select {
    width: 100%;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #30475f;
    border-radius: 3px;
    outline: 0;
    background: #111f31;
    color: #f3f6fa;
    color-scheme: dark;
    font-family: inherit;
    font-size: 12px;
}

.meal-calc-form input:focus,
.meal-calc-form select:focus,
.meal-filter-form input:focus,
.meal-filter-form select:focus,
.meal-card-entry-form input:focus,
.meal-card-entry-form select:focus,
.meal-card-action-form input:focus,
.meal-card-action-form select:focus {
    border-color: var(--ay-accent);
    box-shadow: 0 0 0 2px rgba(255, 153, 0, .1);
}

.meal-calc-form > button,
.meal-filter-form > button,
.meal-save-button { min-height: 38px; }

.meal-save-button { min-width: 165px; }
.meal-card-form-actions { display: flex !important; justify-content: flex-end; align-items: center; gap: 8px; }
.meal-card-table th:last-child { width: 535px; }
.meal-card-row-actions { display: grid; grid-template-columns: auto minmax(360px, 1fr); align-items: center; gap: 8px; }
.meal-card-action-form { display: grid; grid-template-columns: 105px minmax(150px, 1fr) 130px; align-items: center; gap: 7px; }
.meal-card-action-form input,
.meal-card-action-form select { height: 32px; }
.meal-card-number,
.meal-card-company { display: block; }
.meal-card-number { margin-top: 3px; color: #91a4b9; font-size: 10px; letter-spacing: .4px; }
.meal-card-number-cell { font-family: Consolas, monospace; letter-spacing: .4px; }
.meal-completed-mark { color: #53d890; font-size: 11px; font-weight: 800; white-space: nowrap; }
.meal-card-page .inline-action-form { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.meal-integration-form { padding: 14px; display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 12px; align-items: end; background: #091525; }
.meal-integration-form > div { min-width: 0; display: grid; gap: 6px; }
.meal-integration-form label { color: #aebdcc; font-size: 11px; font-weight: 700; }
.meal-integration-form input:not([type="checkbox"]),
.meal-integration-form select { width: 100%; height: 38px; padding: 0 10px; border: 1px solid #30475f; border-radius: 3px; outline: 0; background: #111f31; color: #f3f6fa; color-scheme: dark; }
.meal-integration-check { min-height: 38px; display: flex !important; align-items: center; gap: 8px; color: #dce5ee !important; }
.meal-integration-check input { width: 17px; height: 17px; accent-color: var(--ay-accent); }
.meal-integration-note { padding: 10px 14px; border-top: 1px solid #263b52; color: #91a4b9; font-size: 11px; }
.meal-card-page .module-table td { vertical-align: middle; }
.meal-card-editing-row td { background: rgba(255, 153, 0, .08); }
.meal-card-editing-row td:first-child { box-shadow: inset 3px 0 0 var(--ay-accent); }

@media (max-width: 1400px) {
    .meal-calc-form,
    .meal-filter-form { grid-template-columns: repeat(4, minmax(130px, 1fr)); }
    .meal-calc-form > button,
    .meal-filter-form > button { grid-column: 4; }
    .meal-card-entry-form { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
    .meal-description-field { grid-column: span 1; }
    .meal-card-row-actions { grid-template-columns: 1fr; align-items: stretch; }
}

@media (max-width: 900px) {
    .meal-card-page .header-action-group { width: 100%; }
    .meal-card-page .header-action-group > * { flex: 1; }
    .meal-calc-form,
    .meal-filter-form,
    .meal-card-entry-form { grid-template-columns: 1fr; }
    .meal-calc-form > button,
    .meal-filter-form > button,
    .meal-description-field { grid-column: auto; }
    .meal-save-button { width: 100%; }
    .meal-card-form-actions { align-items: stretch; flex-direction: column; }
    .meal-integration-form { grid-template-columns: 1fr; }
}
.meal-history-table { min-width: 1280px; }
.meal-history-table th:last-child,
.meal-history-table td:last-child { width: 360px; min-width: 360px; }
.meal-completion-details { margin-top: 8px; }
.meal-completion-details > summary { display: flex; align-items: center; justify-content: space-between; min-height: 34px; padding: 7px 10px; border: 1px solid #3a536d; border-radius: 4px; background: #13263a; color: #eaf2fa; font-size: 11px; font-weight: 800; cursor: pointer; list-style: none; }
.meal-completion-details > summary::-webkit-details-marker { display: none; }
.meal-completion-details > summary::after { content: "+"; color: var(--ay-accent); font-size: 16px; line-height: 1; }
.meal-completion-details[open] > summary::after { content: "−"; }
.meal-completion-details-body { padding-top: 2px; }
.meal-complete-form { display: flex; flex-direction: column; align-items: stretch; gap: 8px; margin-top: 10px; }
.meal-result-file-field { min-width: 0; display: grid; gap: 5px; }
.meal-result-file-field label { color: #dce7f2; font-size: 11px; font-weight: 800; }
.meal-result-file-field small { max-width: 100%; color: #91a4b9; font-size: 10px; line-height: 1.35; white-space: normal; }
.meal-complete-form input[type=file],
.meal-complete-form input[type=text] { width: 100%; min-width: 0; min-height: 36px; padding: 7px 10px; border: 1px solid #344253; border-radius: 7px; background: #18212c; color: #eaf0f6; }
.meal-complete-form input[type=file]::file-selector-button { margin-right: 8px; border: 0; border-radius: 5px; padding: 6px 9px; background: #344253; color: #fff; cursor: pointer; }
.meal-complete-form button { width: 100%; justify-content: center; }
.meal-history-table .meal-cancel-form { flex-direction: column; align-items: stretch; }
.meal-history-table .meal-cancel-form input { width: 100%; min-width: 0; }
.meal-history-table .meal-cancel-form button { width: 100%; justify-content: center; }
.inline-action-group{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.meal-cancel-form{display:flex;gap:8px;align-items:center;margin-top:8px}.meal-cancel-form input{min-height:36px;min-width:220px;padding:7px 10px;border:1px solid #5a3c3c;border-radius:7px;background:#21191d;color:#eaf0f6}@media(max-width:900px){.meal-cancel-form{align-items:stretch;flex-direction:column}.meal-cancel-form input{min-width:0;width:100%}}
.module-form-padding {
    padding: 18px;
}

.table-subtext {
    display: block;
    margin-top: 4px;
    color: #8fb6d9;
    font-size: 12px;
    font-weight: 400;
}

.empty-cell {
    padding: 28px !important;
    color: #8fb6d9;
    text-align: center;
}

.integration-channel-table,
.integration-history-table {
    width: 100%;
    table-layout: fixed;
}

.integration-channel-table th:nth-child(1) { width: 22%; }
.integration-channel-table th:nth-child(2) { width: 11%; }
.integration-channel-table th:nth-child(3) { width: 11%; }
.integration-channel-table th:nth-child(4) { width: 13%; }
.integration-channel-table th:nth-child(5) { width: 10%; }
.integration-channel-table th:nth-child(6) { width: 17%; }
.integration-channel-table th:nth-child(7) { width: 16%; }

.integration-history-table th:nth-child(1) { width: 23%; }
.integration-history-table th:nth-child(2) { width: 17%; }
.integration-history-table th:nth-child(3) { width: 17%; }
.integration-history-table th:nth-child(4) { width: 13%; }
.integration-history-table th:nth-child(5) { width: 30%; }

.integration-channel-table td,
.integration-history-table td {
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.integration-row-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.integration-row-actions form {
    margin: 0;
}

.integration-cancel-edit {
    display: none;
    margin-left: 8px;
}

.integration-cancel-edit.visible {
    display: inline-flex;
}

@media (max-width: 1050px) {
    .integration-channel-table,
    .integration-history-table {
        min-width: 900px;
    }
}
