/* Scoped Material-style redesign for Projects. Loaded only on projects.php. */

:root {
    --projects-md-bg: #f5f7fa;
    --projects-md-surface: #ffffff;
    --projects-md-surface-soft: #f8fafc;
    --projects-md-border: #d8e2ec;
    --projects-md-border-strong: #b9c8d8;
    --projects-md-table-column-border: #e2e9f1;
    --projects-md-table-row-border: #c7d3df;
    --projects-md-table-header-border: #b8c6d4;
    --projects-md-header: #eef3f7;
    --projects-md-text: #17212f;
    --projects-md-muted: #637083;
    --projects-md-primary: #16865f;
    --projects-md-primary-dark: #0f6b4c;
    --projects-md-primary-soft: #e7f6ef;
    --projects-md-danger: #d13f32;
    --projects-md-warning: #e58a10;
    --projects-md-blue: #1f70c1;
    --projects-md-radius: 8px;
    --projects-md-shadow: 0 2px 7px rgba(20, 36, 56, 0.10);
}

/* Final table-strength guard: row dividers must remain visibly stronger than column dividers. */
#projects table tbody > tr > td,
.modal.active table tbody > tr > td,
.modal-overlay.active table tbody > tr > td {
    border-bottom: 1px solid var(--projects-md-table-row-border) !important;
}

#projects table tbody > tr:last-child > td,
.modal.active table tbody > tr:last-child > td,
.modal-overlay.active table tbody > tr:last-child > td {
    border-bottom-width: 2px !important;
}

.projects-md-page {
    max-width: none;
    width: 100%;
}

#projects.projects-md-shell {
    color: var(--projects-md-text);
}

#projects .projects-md-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1.15rem 1.25rem;
    background: var(--projects-md-surface);
    border: 1px solid var(--projects-md-border);
    border-radius: var(--projects-md-radius);
    box-shadow: var(--projects-md-shadow);
}

#projects .projects-md-page-header.projects-md-list-chrome-hidden,
#projects .filters-container.projects-md-list-chrome-hidden {
    display: none !important;
}

#projects .projects-md-title-group {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

#projects .projects-md-title-icon {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--projects-md-primary);
    background: var(--projects-md-primary-soft);
    border: 1px solid #b9f0d2;
    border-radius: var(--projects-md-radius);
    flex: 0 0 auto;
}

#projects .projects-md-page-header h2 {
    margin: 0;
    color: var(--projects-md-text);
    font-size: 1.45rem;
    line-height: 1.15;
}

#projects .projects-md-page-header p {
    margin: 0.25rem 0 0;
    color: var(--projects-md-muted);
    font-size: 0.9rem;
}

#projects .projects-md-primary-action,
#projects .btn.btn-primary,
.modal.active .btn.btn-primary,
.modal-overlay.active .btn.btn-primary,
.modal.active .btn.btn-success,
.modal-overlay.active .btn.btn-success {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.5rem;
    border: 1px solid var(--projects-md-primary) !important;
    background: var(--projects-md-primary) !important;
    color: #fff !important;
    border-radius: var(--projects-md-radius) !important;
    font-weight: 700;
    box-shadow: none !important;
}

#projects .btn,
.modal.active .btn,
.modal-overlay.active .btn {
    border-radius: var(--projects-md-radius) !important;
    font-weight: 700;
}

#projects .btn.btn-secondary,
#projects .btn.btn-outline-secondary,
.modal.active .btn.btn-secondary,
.modal-overlay.active .btn.btn-secondary,
.modal.active .btn.btn-outline-secondary,
.modal-overlay.active .btn.btn-outline-secondary {
    border: 1px solid var(--projects-md-border) !important;
    background: #fff !important;
    color: var(--projects-md-text) !important;
}

#projects .btn.btn-danger,
.modal.active .btn.btn-danger,
.modal-overlay.active .btn.btn-danger {
    border: 1px solid #f1b8b2 !important;
    background: #fff5f4 !important;
    color: #ad2e24 !important;
}

#projects .btn.btn-warning,
.modal.active .btn.btn-warning,
.modal-overlay.active .btn.btn-warning {
    border: 1px solid #f6d7a7 !important;
    background: #fff7eb !important;
    color: #9a5708 !important;
}

#projects .loading,
#projects .empty-state,
#projects .error-state,
#projects p.error,
.modal.active .empty-state,
.modal-overlay.active .empty-state {
    border: 1px solid var(--projects-md-border);
    background: var(--projects-md-surface);
    border-radius: var(--projects-md-radius);
    color: var(--projects-md-muted);
    padding: 1rem;
}

#projects p.error,
#projects .error-state {
    color: #9f241c;
    background: #fff5f4;
    border-color: #f1b8b2;
}

/* Integrated list pattern */
#projects .filters-container.projects-md-filter-toolbar,
#projects .filters-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
    gap: 0.7rem !important;
    align-items: end !important;
    margin: 0 !important;
    padding: 1rem !important;
    background: var(--projects-md-surface);
    border: 1px solid var(--projects-md-border);
    border-bottom: 0;
    border-radius: var(--projects-md-radius) var(--projects-md-radius) 0 0;
    box-shadow: var(--projects-md-shadow);
}

#projects .filters-container > * {
    min-width: 0 !important;
    max-width: 100%;
}

#projects .filters-container .form-group {
    min-width: 0 !important;
    margin: 0 !important;
}

#projects .filters-container .form-group:first-child {
    grid-column: span 2;
}

#projects .projects-md-clear-filters {
    width: 2.5rem !important;
    min-width: 2.5rem !important;
    height: 2.5rem !important;
    padding: 0 !important;
    align-self: end;
    justify-self: start;
}

#projects .filters-container label,
#projects .form-group label,
.modal.active .form-group label,
.modal-overlay.active .form-group label,
.modal.active label,
.modal-overlay.active label {
    display: block;
    margin: 0 0 0.32rem !important;
    color: var(--projects-md-muted) !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

#projects input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#projects select,
#projects textarea,
.modal.active input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.modal.active select,
.modal.active textarea,
.modal-overlay.active input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.modal-overlay.active select,
.modal-overlay.active textarea {
    width: 100%;
    min-height: 2.5rem;
    box-sizing: border-box;
    border: 1px solid var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    background: #fff !important;
    color: var(--projects-md-text) !important;
    font: inherit;
    font-size: 0.92rem !important;
    padding: 0.55rem 0.65rem !important;
    box-shadow: none !important;
}

#projects textarea,
.modal.active textarea,
.modal-overlay.active textarea {
    min-height: 5.5rem;
    resize: vertical;
}

#projects input:focus,
#projects select:focus,
#projects textarea:focus,
.modal.active input:focus,
.modal.active select:focus,
.modal.active textarea:focus,
.modal-overlay.active input:focus,
.modal-overlay.active select:focus,
.modal-overlay.active textarea:focus {
    outline: none;
    border-color: var(--projects-md-primary) !important;
    box-shadow: 0 0 0 3px rgba(22, 134, 95, 0.13) !important;
}

#projects .projects-md-list-surface,
#projectsList > .customer-table-container {
    background: var(--projects-md-surface);
    border: 1px solid var(--projects-md-border) !important;
    border-radius: 0 0 var(--projects-md-radius) var(--projects-md-radius) !important;
    box-shadow: var(--projects-md-shadow);
    overflow: hidden !important;
}

#projects .project-tabs .customer-table-container,
#projects .project-tabs .costs-table-wrapper,
#projects .project-tabs .table-responsive,
#projects .tasks-list {
    border: 1px solid var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    background: var(--projects-md-surface);
    overflow: hidden !important;
}

#projects .projects-md-empty-surface {
    border-radius: 0 0 var(--projects-md-radius) var(--projects-md-radius) !important;
    padding: 1rem;
}

#projects .projects-md-empty-surface .empty-state,
#projects .projects-md-empty-surface .error-state {
    margin: 0;
    box-shadow: none;
}

#projects .projects-md-table-wrap,
#projects .customer-table-container,
#projects .costs-table-wrapper,
#projects .table-responsive,
.modal.active .customer-table-container,
.modal-overlay.active .customer-table-container,
.modal.active .table-responsive,
.modal-overlay.active .table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: visible !important;
    border-radius: var(--projects-md-radius);
}

#projects table,
.modal.active table,
.modal-overlay.active table {
    width: 100% !important;
    max-width: 100%;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    background: #fff;
    color: var(--projects-md-text);
}

#projects .customer-table,
#projects .projects-md-table,
#projects .costs-table,
#projects .data-table,
.modal.active .customer-table,
.modal-overlay.active .customer-table,
.modal.active .costs-table,
.modal-overlay.active .costs-table {
    min-width: 0 !important;
}

/* The global customer table stylesheet assigns customer-list widths to
   th:nth-child(1..8). Project tables reuse the class for legacy markup, so
   reset those inherited widths here while still allowing inline table-specific
   widths to win. */
#projects .customer-table th,
.modal.active .customer-table th,
.modal-overlay.active .customer-table th {
    width: auto;
    min-width: 0;
}

#projects th,
#projects td,
.modal.active th,
.modal.active td,
.modal-overlay.active th,
.modal-overlay.active td {
    border-right: 1px solid var(--projects-md-table-column-border) !important;
    border-bottom: 1px solid var(--projects-md-table-row-border) !important;
    padding: 0.6rem 0.7rem !important;
    vertical-align: middle;
    overflow-wrap: anywhere;
    word-break: normal;
}

#projects tbody td,
.modal.active tbody td,
.modal-overlay.active tbody td {
    border-bottom-width: 1px !important;
    box-shadow: none;
}

#projects th:last-child,
#projects td:last-child,
.modal.active th:last-child,
.modal.active td:last-child,
.modal-overlay.active th:last-child,
.modal-overlay.active td:last-child {
    border-right: 0 !important;
}

#projects thead th,
.modal.active thead th,
.modal-overlay.active thead th {
    background: var(--projects-md-header) !important;
    color: #435166 !important;
    font-size: 0.76rem !important;
    line-height: 1.2;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    text-transform: uppercase;
    border-bottom: 2px solid var(--projects-md-table-header-border) !important;
}

#projects tbody tr:hover td,
.modal.active tbody tr:hover td,
.modal-overlay.active tbody tr:hover td {
    background: #f8fcfa;
}

#projects .projects-md-row-link {
    cursor: pointer;
}

#projects .projects-md-row-link:focus {
    outline: 3px solid rgba(22, 134, 95, 0.20);
    outline-offset: -3px;
}

#projects .projects-md-cell-main {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    min-width: 0;
}

#projects .projects-md-cell-title {
    color: var(--projects-md-text);
    font-weight: 800;
}

#projects .projects-md-cell-sub,
#projects .projects-md-mobile-meta {
    color: var(--projects-md-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

#projects .projects-md-mobile-meta {
    display: none;
}

#projects .projects-md-actions-cell,
#projects .projects-md-projects-table td:last-child {
    white-space: nowrap;
}

.modal.active td:last-child,
.modal-overlay.active td:last-child {
    white-space: normal;
}

#projects td[style*="text-align: right"],
.modal.active td[style*="text-align: right"],
.modal-overlay.active td[style*="text-align: right"],
#projects .projects-md-num {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

#projects td[style*="text-align: center"],
.modal.active td[style*="text-align: center"],
.modal-overlay.active td[style*="text-align: center"],
#projects .projects-md-center {
    text-align: center !important;
}

/* Quotes tab: keep the offer name readable while preserving the no-scroll table pattern. */
#projects .projects-md-quotes-table .projects-md-quote-col-name {
    width: 24%;
}

#projects .projects-md-quotes-table th:first-child,
#projects .projects-md-quotes-table td:first-child {
    width: 24% !important;
}

#projects .projects-md-quotes-table .projects-md-quote-col-validity {
    width: 12%;
}

#projects .projects-md-quotes-table .projects-md-quote-col-net,
#projects .projects-md-quotes-table .projects-md-quote-col-gross {
    width: 14%;
}

#projects .projects-md-quotes-table .projects-md-quote-col-status {
    width: 14%;
}

#projects .projects-md-quotes-table .projects-md-quote-col-created {
    width: 11%;
}

#projects .projects-md-quotes-table .projects-md-quote-col-actions {
    width: 12%;
}

#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-name {
    width: 20%;
}

#projects .projects-md-quotes-table--with-margin th:first-child,
#projects .projects-md-quotes-table--with-margin td:first-child {
    width: 20% !important;
}

#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-net,
#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-gross {
    width: 12%;
}

#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-margin {
    width: 16%;
}

#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-status,
#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-created {
    width: 9%;
}

#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-validity,
#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-status {
    width: 10%;
}

#projects .projects-md-quotes-table--with-margin .projects-md-quote-col-actions {
    width: 10%;
}

#projects .projects-md-profit-display,
.modal.active .projects-md-profit-display,
.modal-overlay.active .projects-md-profit-display {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    font-weight: 700;
    line-height: 1.25;
}

#projects .projects-md-profit-metrics,
.modal.active .projects-md-profit-metrics,
.modal-overlay.active .projects-md-profit-metrics {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

#projects .projects-md-profit-display--summary .projects-md-profit-metrics,
.modal.active .projects-md-profit-display--summary .projects-md-profit-metrics,
.modal-overlay.active .projects-md-profit-display--summary .projects-md-profit-metrics {
    font-size: 0.9rem;
}

#projects .projects-md-quotes-table th,
#projects .projects-md-quotes-table td {
    overflow-wrap: normal;
    word-break: normal;
}

#projects .projects-md-quotes-table th {
    white-space: normal;
    hyphens: none;
}

#projects .projects-md-quotes-table .projects-md-quote-name-cell,
#projects .projects-md-quotes-table .projects-md-quote-name-cell strong {
    overflow-wrap: break-word;
    word-break: normal;
}

#projects .projects-md-quotes-table td:not(.projects-md-quote-name-cell) {
    overflow-wrap: break-word;
}

#projects .projects-md-quotes-table th:last-child,
#projects .projects-md-quotes-table td:last-child {
    text-align: center !important;
    white-space: nowrap;
}

#projects .projects-md-quote-expanded-row {
    background: #f8fafc !important;
    border-bottom: 1px solid var(--projects-md-border) !important;
}

#projects .projects-md-quote-actions-cell {
    padding: 0 !important;
    background: #f8fafc !important;
}

#projects .projects-md-quote-actions-panel {
    padding: 0.8rem;
    background: #f8fafc;
}

#projects .projects-md-quote-action-matrix {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1px;
    overflow: hidden;
    background: var(--projects-md-border);
    border: 1px solid var(--projects-md-border);
    border-radius: var(--projects-md-radius);
}

#projects .projects-md-quote-action-btn {
    width: 100%;
    min-width: 0;
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0.58rem 0.75rem;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--projects-md-text);
    cursor: pointer;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.15;
    text-align: left;
    box-shadow: none;
    transition: background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

#projects .projects-md-quote-action-btn:hover {
    background: #f1f5f9;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

#projects .projects-md-quote-action-btn:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px var(--projects-md-primary);
}

#projects .projects-md-quote-action-btn:disabled {
    cursor: not-allowed;
    color: #94a3b8;
    background: #f1f5f9;
}

#projects .projects-md-quote-action-btn span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#projects .projects-md-quote-action-icon {
    width: 1.15rem;
    flex: 0 0 1.15rem;
    text-align: center;
    font-size: 0.95rem;
}

#projects .projects-md-quote-action-extra-icon {
    margin-left: auto;
    flex: 0 0 auto;
    color: #64748b;
    font-size: 0.8rem;
}

#projects .projects-md-quote-action-btn--success,
#projects .projects-md-quote-action-btn--success-strong {
    color: #2e7d32;
}

#projects .projects-md-quote-action-btn--success:hover,
#projects .projects-md-quote-action-btn--success-strong:hover {
    background: #e8f5e9;
}

#projects .projects-md-quote-action-btn--danger {
    color: #c62828;
}

#projects .projects-md-quote-action-btn--danger:hover {
    background: #ffebee;
}

#projects .projects-md-quote-action-btn--warning {
    color: #e65100;
}

#projects .projects-md-quote-action-btn--warning:hover {
    background: #fff3e0;
}

#projects .projects-md-quote-action-btn--info {
    color: #1976d2;
}

#projects .projects-md-quote-action-btn--info:hover {
    background: #e3f2fd;
}

#projects .projects-md-quote-action-btn--teal {
    color: #00838f;
}

#projects .projects-md-quote-action-btn--teal:hover {
    background: #e0f7fa;
}

#projects .projects-md-quote-action-btn--neutral {
    color: #334155;
}

#projectBefoglalModal .projects-md-befoglal-table {
    table-layout: fixed !important;
}

#projectBefoglalModal .projects-md-befoglal-col-product {
    width: 32%;
}

#projectBefoglalModal .projects-md-befoglal-col-warehouse {
    width: 12%;
}

#projectBefoglalModal .projects-md-befoglal-col-num {
    width: 11%;
}

#projectBefoglalModal .projects-md-befoglal-col-input {
    width: 12%;
}

#projectBefoglalModal .projects-md-befoglal-table th,
#projectBefoglalModal .projects-md-befoglal-table td {
    overflow-wrap: normal;
    word-break: normal;
}

#projectBefoglalModal .projects-md-befoglal-table td:first-child {
    overflow-wrap: break-word;
}

#projectBefoglalModal .projects-md-befoglal-table td:not(:first-child) {
    white-space: nowrap;
}

#projectBefoglalModal .projects-md-befoglal-table input.project-reserve-input {
    min-width: 0;
    width: 100% !important;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

#quickBevetelesModal .customer-table-container,
#quickKiadasModal .customer-table-container,
#quickBevetelesEsKiadasModal .customer-table-container,
#projectBefoglalModal .customer-table-container,
#reservationTransferModal .customer-table-container,
#projectDirectUnlockModal .customer-table-container,
#materialUsageCorrectionModal .customer-table-container {
    max-height: none !important;
    overflow: visible !important;
}

.modal .projects-md-stock-flow-modal,
.modal .projects-md-modal-table-full {
    max-height: none !important;
    overflow: visible !important;
}

#quickBevetelesModal.modal.active,
#quickKiadasModal.modal.active,
#quickBevetelesEsKiadasModal.modal.active,
#projectBefoglalModal.modal.active,
#reservationTransferModal.modal.active,
#projectDirectUnlockModal.modal.active,
#materialUsageCorrectionModal.modal.active {
    align-items: flex-start !important;
}

#quickBevetelesModal.modal.active .modal-content,
#quickKiadasModal.modal.active .modal-content,
#quickBevetelesEsKiadasModal.modal.active .modal-content,
#projectBefoglalModal.modal.active .modal-content,
#reservationTransferModal.modal.active .modal-content,
#projectDirectUnlockModal.modal.active .modal-content,
#materialUsageCorrectionModal.modal.active .modal-content {
    max-height: none !important;
}

#quickBevetelesModal.modal.active .modal-body,
#quickKiadasModal.modal.active .modal-body,
#quickBevetelesEsKiadasModal.modal.active .modal-body,
#projectBefoglalModal.modal.active .modal-body,
#reservationTransferModal.modal.active .modal-body,
#projectDirectUnlockModal.modal.active .modal-body,
#materialUsageCorrectionModal.modal.active .modal-body {
    overflow: visible !important;
}

#projects .projects-md-pagination,
#projects .pagination-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
    border-top: 1px solid var(--projects-md-border);
    background: var(--projects-md-surface-soft);
    color: var(--projects-md-muted);
}

#projects .projects-md-page-info {
    color: var(--projects-md-muted);
    font-size: 0.88rem;
    font-weight: 700;
}

/* Detail, tabs and cards */
#projects .detail-view,
#projects .project-detail-view {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#projects .detail-header-simple {
    margin: 0;
}

#projects .btn-back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid var(--projects-md-border);
    background: #fff;
    color: var(--projects-md-text);
    border-radius: var(--projects-md-radius);
    padding: 0.55rem 0.75rem;
    font-weight: 800;
}

#projects .detail-content,
#projects .quote-form-container {
    max-width: none !important;
}

#projects .projects-md-form-surface {
    background: var(--projects-md-surface);
    border: 1px solid var(--projects-md-border);
    border-radius: var(--projects-md-radius);
    box-shadow: var(--projects-md-shadow);
    padding: 1rem;
}

#projects .projects-md-form-surface h2 {
    margin: 0 0 1rem;
    color: var(--projects-md-text);
}

#projects .projects-md-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.8rem;
}

#projects .projects-md-form .form-group {
    margin: 0 !important;
    min-width: 0;
}

#projects .projects-md-form .projects-md-form-field-wide,
#projects .projects-md-form .form-actions {
    grid-column: 1 / -1;
}

#projects .detail-title-bar {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid var(--projects-md-border);
    background: var(--projects-md-surface);
    border-radius: var(--projects-md-radius);
    box-shadow: var(--projects-md-shadow);
}

#projects .detail-title-bar-left,
#projects .detail-title-bar-right {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

#projects .detail-avatar {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--projects-md-primary-soft);
    color: var(--projects-md-primary);
    border: 1px solid #b9f0d2;
    border-radius: var(--projects-md-radius);
    font-size: 1rem !important;
}

#projects .detail-title-text h1 {
    margin: 0;
    font-size: 1.45rem;
}

#projects .project-info-cards,
#projects .project-info-cards-three,
#projects .palyazat-summary-grid,
#projects .payment-summary {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
    gap: 0.8rem !important;
    margin: 0 0 1rem !important;
}

#projects .info-card,
#projects .project-description,
#projects .palyazat-summary-card,
#projects .finance-summary-card,
#projects .costs-list-section,
#projects .documents-files-section,
#projects .documents-comments-section,
#projects .quote-header-section,
#projects .quote-total-section,
#projects .quote-category-section,
#projects .contract-generation-section {
    background: var(--projects-md-surface) !important;
    border: 1px solid var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    box-shadow: var(--projects-md-shadow) !important;
    padding: 1rem !important;
}

#projects .info-card h3,
#projects .project-description h3,
#projects .costs-header h3,
#projects .documents-files-section h3,
#projects .documents-comments-section h3,
#projects .quote-products-section > h3,
#projects .palyazat-section-header h3 {
    margin: 0 0 0.75rem !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--projects-md-text);
    font-size: 1.05rem !important;
}

#projects .info-row {
    display: grid;
    grid-template-columns: minmax(105px, 35%) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid #edf2f7;
}

#projects .info-row label {
    color: var(--projects-md-muted) !important;
    font-size: 0.78rem !important;
    text-transform: none;
    letter-spacing: 0;
}

#projects .info-row p {
    color: var(--projects-md-text);
    font-weight: 650;
}

#projects .project-tabs {
    background: var(--projects-md-surface) !important;
    border: 1px solid var(--projects-md-border);
    border-radius: var(--projects-md-radius);
    box-shadow: var(--projects-md-shadow);
    overflow: hidden;
}

#projects .tabs-header,
#projects .palyazat-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.7rem;
    background: var(--projects-md-surface-soft);
    border-bottom: 1px solid var(--projects-md-border);
}

#projects .tab-btn,
#projects .palyazat-subtab-btn {
    flex: 0 0 auto;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: var(--projects-md-muted) !important;
    border-radius: var(--projects-md-radius) !important;
    padding: 0.55rem 0.8rem !important;
    font-weight: 800 !important;
}

#projects .tab-btn.active,
#projects .palyazat-subtab-btn.active {
    color: var(--projects-md-primary) !important;
    background: #fff !important;
    border-color: var(--projects-md-border) !important;
    box-shadow: 0 1px 3px rgba(20, 36, 56, 0.08);
}

#projects .tabs-content,
#projects .tab-pane.active {
    padding: 1rem;
}

#projects .tab-pane {
    display: none;
}

#projects .tab-pane.active {
    display: block;
}

#projects #goodsMovementContent,
#projects #materialUsageContent {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

#projects .projects-md-action-strip,
#projects .projects-md-subflow-panel {
    background: var(--projects-md-surface) !important;
    border: 1px solid var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    box-shadow: var(--projects-md-shadow);
    padding: 0.85rem !important;
}

#projects .projects-md-action-strip {
    align-items: center !important;
}

#projects .projects-md-action-strip .btn {
    min-height: 2.35rem;
}

#projects .projects-md-subflow-table {
    border-color: var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
}

#projects .status-badge,
#projects .project-status-badge,
#projects .badge,
#projects .quote-status-draft,
#projects .quote-status-sent,
#projects .quote-status-accepted,
#projects .quote-status-marked,
#projects .quote-status-rejected,
#projects .category-badge-small,
#projects .palyazat-subtab-badge,
#projects .palyazat-field-group-badge,
#projects .palyazat-doc-status,
.modal.active .badge,
.modal-overlay.active .badge {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 1.45rem;
    padding: 0.2rem 0.5rem !important;
    border-radius: 999px !important;
    font-size: 0.72rem !important;
    line-height: 1.1;
    font-weight: 800 !important;
    white-space: normal !important;
}

#projects .status-dropdown {
    position: relative;
}

#projects .status-dropdown-menu {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    min-width: 220px;
    display: none;
    z-index: 50;
    background: #fff;
    border: 1px solid var(--projects-md-border);
    border-radius: var(--projects-md-radius);
    box-shadow: 0 12px 30px rgba(20, 36, 56, 0.18);
    padding: 0.35rem;
}

#projects .status-dropdown-menu.show {
    display: block;
}

#projects .status-option {
    border-radius: 6px;
}

/* Documents, forms and specialized panels */
#projects .documents-container,
#projects .costs-container,
#projects .palyazat-root {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: none !important;
}

#projects .documents-upload-section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0.8rem;
    margin: 0;
}

#projects .upload-card,
#projects .comment-card,
#projects .document-card,
#projects .comment-item,
#projects .palyazat-section,
#projects .palyazat-field-group,
#projects .palyazat-field-item,
#projects .palyazat-doc-item,
#projects .palyazat-owner-row,
#projects .palyazat-comment-editor,
#projects .quote-item {
    background: var(--projects-md-surface) !important;
    border: 1px solid var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    box-shadow: none !important;
}

#projects .documents-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 0.8rem;
}

#projects .document-preview,
#projects .document-icon {
    border-bottom: 1px solid var(--projects-md-border);
}

#projects .quote-form-container h2 {
    margin: 0 0 1rem;
}

#projects .quote-total-section {
    color: var(--projects-md-text) !important;
}

#projects .quote-category-section h4::before,
#projects .documents-files-section h3::before,
#projects .documents-comments-section h3::before {
    display: none !important;
}

#projects .quote-category-products {
    min-height: 0;
}

#projects .form-row,
.modal.active .form-row,
.modal-overlay.active .form-row,
#projects .row,
.modal.active .row,
.modal-overlay.active .row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 0.8rem !important;
    margin-bottom: 0.8rem !important;
}

#projects .form-actions,
.modal.active .form-actions,
.modal-overlay.active .form-actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 0.65rem !important;
    flex-wrap: wrap;
}

#projects .total-cost {
    background: var(--projects-md-primary-soft) !important;
    color: var(--projects-md-primary-dark) !important;
    border: 1px solid #b9f0d2;
    border-radius: var(--projects-md-radius) !important;
}

#projects .events-timeline {
    max-width: none !important;
    border: 1px solid var(--projects-md-border);
    border-radius: var(--projects-md-radius);
    background: #fff;
    overflow: hidden;
}

#projects .event-item {
    border-bottom: 1px solid var(--projects-md-border) !important;
}

#projects .event-icon,
#projects .author-avatar {
    background: var(--projects-md-primary-soft) !important;
    color: var(--projects-md-primary) !important;
    border: 1px solid #b9f0d2;
}

/* Project modals are body-level nodes, but this stylesheet is only loaded on projects.php. */
.modal.active,
.modal-overlay.active {
    position: fixed;
    inset: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.56) !important;
    z-index: 10000 !important;
}

.modal.active .modal-content,
.modal-overlay.active .modal-content {
    width: min(96vw, 720px) !important;
    max-height: 92vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid var(--projects-md-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 22px 70px rgba(15, 23, 42, 0.32) !important;
}

.modal.active .modal-header,
.modal-overlay.active .modal-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.75rem;
    flex: 0 0 auto;
    padding: 1rem 1.15rem !important;
    background: #fff !important;
    border-bottom: 1px solid var(--projects-md-border) !important;
}

.modal.active .modal-header h2,
.modal.active .modal-header h3,
.modal-overlay.active .modal-header h2,
.modal-overlay.active .modal-header h3,
.modal.active .modal-title,
.modal-overlay.active .modal-title {
    margin: 0 !important;
    color: var(--projects-md-text) !important;
    font-size: 1.25rem !important;
    line-height: 1.2;
}

.modal.active .modal-body,
.modal-overlay.active .modal-body {
    flex: 1 1 auto;
    overflow: auto !important;
    padding: 1rem 1.15rem !important;
}

.modal.active .modal-content[style*="max-height"],
.modal-overlay.active .modal-content[style*="max-height"] {
    max-height: none !important;
}

.modal.active .modal-content[style*="max-height"] .modal-body,
.modal-overlay.active .modal-content[style*="max-height"] .modal-body {
    overflow: visible !important;
}

.modal.active .modal-body h3,
.modal.active .modal-body h4,
.modal-overlay.active .modal-body h3,
.modal-overlay.active .modal-body h4 {
    margin: 0 0 0.75rem !important;
    color: var(--projects-md-text) !important;
    font-size: 1rem !important;
    line-height: 1.25;
}

.modal.active .modal-body > div[style*="linear-gradient"],
.modal-overlay.active .modal-body > div[style*="linear-gradient"],
#quickBevetelesEsKiadasModal .modal-body > div[style*="linear-gradient"],
#projectBefoglalModal .modal-body > div[style*="linear-gradient"],
#reservationTransferModal .modal-body > div[style*="linear-gradient"] {
    background: var(--projects-md-primary-soft) !important;
    border: 1px solid #b9f0d2 !important;
    color: var(--projects-md-primary-dark) !important;
}

.modal.active form > div[style*="grid-template-columns"],
.modal-overlay.active form > div[style*="grid-template-columns"] {
    background: var(--projects-md-surface-soft);
    border: 1px solid var(--projects-md-border);
    border-radius: var(--projects-md-radius);
    padding: 0.85rem;
}

.modal.active td input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.modal.active td select,
.modal-overlay.active td input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.modal-overlay.active td select {
    min-width: 0 !important;
    min-height: 2.05rem !important;
    padding: 0.35rem 0.45rem !important;
    font-size: 0.82rem !important;
}

.modal.active td .btn,
.modal-overlay.active td .btn {
    min-height: 2.05rem;
    padding: 0.35rem 0.5rem !important;
    white-space: normal;
}

.modal.active th input[type="checkbox"],
.modal.active td input[type="checkbox"],
.modal-overlay.active th input[type="checkbox"],
.modal-overlay.active td input[type="checkbox"] {
    width: 1rem !important;
    height: 1rem !important;
}

.modal.active .modal-footer,
.modal-overlay.active .modal-footer {
    flex: 0 0 auto;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 0.65rem !important;
    padding: 0.9rem 1.15rem !important;
    background: var(--projects-md-surface-soft) !important;
    border-top: 1px solid var(--projects-md-border) !important;
}

#quickBevetelesEsKiadasModal #quickBevetelesEsKiadasForm > .modal-footer,
#projectBefoglalModal .modal-body > .modal-footer,
#projectDirectUnlockModal .modal-body > .modal-footer {
    position: sticky;
    bottom: -1rem;
    z-index: 4;
    margin: 1rem -1.15rem -1rem !important;
}

.modal.active .modal-close,
.modal.active .close-btn,
.modal.active .close-modal,
.modal-overlay.active .modal-close,
.modal-overlay.active .close-btn,
.modal-overlay.active .close-modal,
.modal-overlay.active .btn-close {
    position: static !important;
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    background: #fff !important;
    color: var(--projects-md-muted) !important;
    font-size: 1.35rem !important;
    line-height: 1;
    cursor: pointer;
}

.modal.active .modal-content[style*="500px"],
.modal-overlay.active .modal-content[style*="500px"],
.modal.active .modal-content[style*="520px"],
.modal-overlay.active .modal-content[style*="520px"],
.modal.active .modal-content[style*="560px"],
.modal-overlay.active .modal-content[style*="560px"] {
    width: min(96vw, 600px) !important;
}

.modal.active .modal-content[style*="600px"],
.modal-overlay.active .modal-content[style*="600px"],
.modal.active .modal-content[style*="700px"],
.modal-overlay.active .modal-content[style*="700px"] {
    width: min(96vw, 760px) !important;
}

.modal.active .modal-content[style*="800px"],
.modal-overlay.active .modal-content[style*="800px"],
.modal.active .modal-content[style*="900px"],
.modal-overlay.active .modal-content[style*="900px"],
.modal.active .modal-content[style*="920px"],
.modal-overlay.active .modal-content[style*="920px"] {
    width: min(96vw, 980px) !important;
}

.modal.active .modal-content[style*="1100px"],
.modal-overlay.active .modal-content[style*="1100px"],
.modal.active .modal-content[style*="1200px"],
.modal-overlay.active .modal-content[style*="1200px"],
.modal.active .modal-content[style*="1280px"],
.modal-overlay.active .modal-content[style*="1280px"],
.modal.active .modal-content[style*="1300px"],
.modal-overlay.active .modal-content[style*="1300px"] {
    width: min(98vw, 1320px) !important;
}

.modal.active .modal-content[style*="1600px"],
.modal-overlay.active .modal-content[style*="1600px"],
.modal.active .modal-content[style*="1400px"],
.modal-overlay.active .modal-content[style*="1400px"] {
    width: min(98vw, 1440px) !important;
}

#quickBevetelesModal .modal-content,
#quickKiadasModal .modal-content,
#quickBevetelesEsKiadasModal .modal-content,
#projectBefoglalModal .modal-content,
#reservationTransferModal .modal-content,
#projectDirectUnlockModal .modal-content,
#materialUsageCorrectionModal .modal-content {
    width: min(98vw, 1440px) !important;
}

#addProductModal #productSearchResults {
    z-index: 10030 !important;
    border-color: var(--projects-md-border) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18) !important;
}

#combinedWizardHeader {
    padding: 0.75rem;
    border: 1px solid var(--projects-md-border);
    border-radius: var(--projects-md-radius);
    background: var(--projects-md-surface-soft);
}

#combinedWizardHeader span {
    border: 1px solid var(--projects-md-border);
    line-height: 1.15;
}

.projects-md-search-dropdown {
    position: relative;
}

.projects-md-search-dropdown-toggle {
    min-height: 2.5rem;
    border-color: var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    color: var(--projects-md-text);
}

.projects-md-search-dropdown-menu {
    z-index: 10020 !important;
    border-color: var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18) !important;
    overflow: hidden;
}

.projects-md-search-dropdown-option {
    color: var(--projects-md-text);
    font-weight: 700;
}

.projects-md-search-dropdown-option:hover {
    background: var(--projects-md-primary-soft) !important;
}

.modal.active #paymentTransactionPanel,
.modal-overlay.active #paymentTransactionPanel,
.modal.active #editPaymentTransactionPanel,
.modal-overlay.active #editPaymentTransactionPanel {
    min-width: 280px;
}

.modal.active .modal-actions,
.modal-overlay.active .modal-actions {
    display: flex !important;
    gap: 0.65rem !important;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.modal.active .category-item,
.modal-overlay.active .category-item {
    border: 1px solid var(--projects-md-border) !important;
    border-radius: var(--projects-md-radius) !important;
    background: #fff;
}

.image-viewer {
    border-radius: 10px !important;
}

.image-viewer .close-btn {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    border-radius: 50% !important;
    background: rgba(15, 23, 42, 0.78) !important;
    color: #fff !important;
    border: 0 !important;
}

@media (min-width: 761px) {
    #addProductModal .modal-content,
    #addProductModal .modal-body {
        overflow: visible !important;
    }
}

@media (max-width: 1500px) {
    #projects .filters-container.projects-md-filter-toolbar,
    #projects .filters-container {
        grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(132px, 1fr)) auto;
    }
}

@media (max-width: 1100px) {
    #projects .projects-md-page-header,
    #projects .detail-title-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    #projects .filters-container.projects-md-filter-toolbar,
    #projects .filters-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #projects .filters-container button {
        width: 100% !important;
    }
}

@media (max-width: 760px) {
    #projects .projects-md-page-header,
    #projects .detail-title-bar,
    #projects .tabs-content,
    #projects .tab-pane.active,
    .modal.active .modal-body,
    .modal-overlay.active .modal-body {
        padding: 0.8rem !important;
    }

    #projects .filters-container.projects-md-filter-toolbar,
    #projects .filters-container {
        grid-template-columns: 1fr;
        padding: 0.8rem !important;
    }

    #projects .filters-container .form-group:first-child {
        grid-column: auto;
    }

    #projects th,
    #projects td,
    .modal.active th,
    .modal.active td,
    .modal-overlay.active th,
    .modal-overlay.active td {
        padding: 0.45rem 0.48rem !important;
        font-size: 0.78rem !important;
    }

    #projects thead th,
    .modal.active thead th,
    .modal-overlay.active thead th {
        font-size: 0.66rem !important;
    }

    #projects .projects-md-projects-table col.projects-md-col-id { width: 18% !important; }
    #projects .projects-md-projects-table col.projects-md-col-customer { width: 52% !important; }
    #projects .projects-md-projects-table col.projects-md-col-fin { width: 15% !important; }
    #projects .projects-md-projects-table col.projects-md-col-status { width: 15% !important; }
    #projects .projects-md-projects-table .projects-md-mobile-hide {
        display: none !important;
    }
    #projects .projects-md-mobile-meta {
        display: block;
    }

    #projects .info-row {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }

    #projects .project-info-cards,
    #projects .project-info-cards-three,
    #projects .palyazat-summary-grid,
    #projects .payment-summary {
        grid-template-columns: 1fr !important;
    }

    #projects .projects-md-pagination,
    #projects .pagination-container {
        align-items: stretch !important;
        flex-direction: column;
    }

    .modal.active,
    .modal-overlay.active {
        padding: 0.45rem;
        align-items: flex-start;
    }

    .modal.active .modal-content,
    .modal-overlay.active .modal-content {
        width: 100% !important;
        max-height: calc(100vh - 0.9rem) !important;
    }

    .modal.active .modal-header,
    .modal-overlay.active .modal-header,
    .modal.active .modal-footer,
    .modal-overlay.active .modal-footer {
        align-items: stretch !important;
        flex-wrap: wrap;
    }

    .modal.active .modal-footer .btn,
    .modal-overlay.active .modal-footer .btn {
        flex: 1 1 12rem;
    }

    #quickBevetelesModal .customer-table-container,
    #quickKiadasModal .customer-table-container,
    #quickBevetelesEsKiadasModal .customer-table-container,
    #projectBefoglalModal .customer-table-container,
    #reservationTransferModal .customer-table-container,
    #projectDirectUnlockModal .customer-table-container,
    #materialUsageCorrectionModal .customer-table-container {
        max-height: none !important;
    }

    .modal.active td input[style*="80px"],
    .modal.active td input[style*="120px"],
    .modal.active td input[style*="160px"],
    .modal-overlay.active td input[style*="80px"],
    .modal-overlay.active td input[style*="120px"],
    .modal-overlay.active td input[style*="160px"] {
        width: 100% !important;
    }

    .modal.active .modal-body[style*="flex-direction: row"],
    .modal-overlay.active .modal-body[style*="flex-direction: row"] {
        flex-direction: column !important;
        height: auto !important;
    }
}

#projects table tbody > tr > td,
.modal.active table tbody > tr > td,
.modal-overlay.active table tbody > tr > td {
    border-bottom: 1px solid var(--projects-md-table-row-border) !important;
}
