| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- /* All list components are scoped; the document, not the table, scrolls vertically. */
- :root { --gc-summary-height: 0px; }
- body:has(.gc-list-page) { max-width: 1840px; }
- .gc-list-page { font-size: 1.0625rem; color: var(--gc-brand-ink); padding-bottom: calc(var(--gc-summary-height) + 1.5rem); gap: 1.25rem; }
- .gc-list-page * { min-width: 0; }
- .gc-list-page h1 { font-size: 1.75rem; font-weight: 700; margin: 0; }
- .gc-list-filter-content { padding: 1rem; }
- .gc-list-filters { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
- .gc-filter-loading { display: none; position: absolute; inset: 0; z-index: 1040; align-items: center; justify-content: center; background: #ffffffb3; cursor: wait; }
- .gc-list-filters.htmx-request .gc-filter-loading { display: flex; }
- .gc-list-filters.htmx-request .gc-filter-group { opacity: .55; }
- .gc-filter-loading-message { display: flex; align-items: center; gap: .75rem; padding: .85rem 1rem; border: 1px solid #b1bcc7; border-radius: 6px; background: #fff; color: #182630; box-shadow: 0 3px 12px #18263020; }
- .gc-filter-spinner { width: 1.5rem; height: 1.5rem; flex-shrink: 0; border: 3px solid #dce2e7; border-top-color: #354f63; border-radius: 50%; animation: gc-filter-spin .8s linear infinite; }
- @keyframes gc-filter-spin { to { transform: rotate(360deg); } }
- @media (prefers-reduced-motion: reduce) { .gc-filter-spinner { animation: none; } }
- .gc-filter-group { margin: 0; padding: 0; border: 0; }
- .gc-filter-group + .gc-filter-group { padding-left: 1.25rem; border-left: 1px solid #dce2e7; }
- .gc-filter-group legend { float: none; width: auto; font-size: 1rem; font-weight: 600; margin: 0 0 .75rem; }
- .gc-filter-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
- .gc-filter-field label { display: block; font-size: 1rem; color: #52616f; margin-bottom: .3rem; }
- .gc-multifilter { position: relative; }
- .gc-filter-toggle { width: 100%; text-align: left; background-color: #fff; }
- .gc-filter-chips { display: flex; flex-wrap: wrap; gap: .3rem; }
- .gc-filter-chip { border: 1px solid #b1bcc7; border-radius: 5px; background: #edf2f5; color: #182630; padding: .2rem .4rem; margin-bottom: .3rem; font-size: .9375rem; overflow-wrap: anywhere; text-align: left; }
- .gc-filter-dropdown { position: absolute; top: 100%; left: 0; z-index: 1030; width: max(100%, 20rem); max-width: calc(100vw - 3rem); max-height: 70vh; overflow-y: auto; padding: .75rem; background: #fff; border: 1px solid #b1bcc7; border-radius: 6px; box-shadow: 0 4px 18px #18263030; }
- .gc-filter-options { max-height: 15rem; overflow-y: auto; margin-top: .5rem; }
- .gc-filter-options label { display: flex; align-items: baseline; gap: .5rem; padding: .35rem; color: #182630; overflow-wrap: anywhere; cursor: pointer; }
- .gc-filter-options label:focus-within { outline: 2px solid #526b7e; outline-offset: -2px; }
- .gc-filter-options input { flex-shrink: 0; }
- .gc-filter-status { margin: .5rem 0; font-size: .9375rem; }
- .gc-filter-dropdown-actions { display: flex; justify-content: space-between; gap: .5rem; }
- .gc-filter-dropdown .btn { border: 1px solid #b1bcc7; }
- .gc-list-page :is(.form-control, .form-select) { font-size: 1.0625rem; min-height: 42px; border-color: #b1bcc7; border-radius: 6px; }
- .gc-list-page :is(.form-control, .form-select):focus { border-color: #526b7e; box-shadow: 0 0 0 3px #72889b33; }
- .gc-list-page input[type="date"]::-webkit-datetime-edit-year-field,
- .gc-list-page input[type="date"]::-webkit-datetime-edit-month-field,
- .gc-list-page input[type="date"]::-webkit-datetime-edit-day-field,
- .gc-list-page input[type="date"]::-webkit-datetime-edit-text { color: var(--gc-brand-ink); }
- .gc-list-table-region { position: relative; }
- .gc-list-table-scroll { position: relative; overflow-x: auto; max-width: 100%; border-radius: 0 0 9px 9px; }
- .gc-list-table { width: 100%; min-width: 1560px; border-collapse: separate; border-spacing: 0; font-size: 1.0625rem; margin: 0; table-layout: fixed; color: #111; }
- .gc-list-table :is(th, td) { padding: .8rem .75rem; vertical-align: top; overflow-wrap: anywhere; }
- .gc-list-table thead { position: static; }
- /* A visually hidden bottom caption extends the scroll height by one pixel. */
- .gc-list-table caption { caption-side: top; }
- .gc-list-table th { background: var(--gc-brand-action); color: #fff; font-size: 1rem; font-weight: 700; border-bottom: 1px solid #526b7e; line-height: 1.45; hyphens: auto; }
- .gc-list-table tbody td { background: #fff; border-bottom: 1px solid #e5e9ed; line-height: 1.5; }
- .gc-list-table .gc-invoice-row:hover td { background: #f6f8fa; }
- .gc-list-table .gc-invoice-row.gc-return-highlight td { background: #dfeaf1; }
- .gc-list-table .gc-invoice-row:focus-visible { outline: 3px solid #354f63; outline-offset: -3px; }
- .gc-return-status { padding: .85rem 1rem; margin: 0; border: 1px solid #b1bcc7; border-radius: 6px; background: #edf2f5; }
- .gc-list-table th:nth-child(1) { width: 8%; }
- .gc-list-table th:nth-child(2) { width: 9%; }
- .gc-list-table th:nth-child(3) { width: 10%; }
- .gc-list-table th:nth-child(4) { width: 10%; }
- .gc-list-table th:nth-child(5) { width: 15%; }
- .gc-list-table th:nth-child(6) { width: 11%; }
- .gc-list-table th:nth-child(7) { width: 8%; }
- .gc-list-table th:nth-child(8) { width: 7%; }
- .gc-list-table th:nth-child(9) { width: 9%; }
- .gc-list-table th:nth-child(10) { width: 9%; }
- .gc-list-table th:nth-child(11) { width: 4%; }
- .gc-list-page a { color: #354f63; text-underline-offset: .15em; }
- .gc-list-page .gc-title { font-weight: 600; }
- .gc-list-page .gc-subtitle { margin-top: .3rem; font-size: 1rem; color: #52616f; line-height: 1.5; }
- .gc-list-page .gc-money, .gc-list-summary strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
- .gc-list-table td:nth-child(6) > .gc-money { font-weight: 700; }
- .gc-list-table td:nth-child(6) .gc-subtitle { font-variant-numeric: tabular-nums; }
- .gc-list-badge { display: inline-flex; align-items: center; justify-content: center; padding: .15rem .5rem; border: 1px solid #b1bcc7; border-radius: 5px; font-size: .9375rem; font-weight: 600; color: #182630; white-space: nowrap; }
- .gc-list-badge-info { background: #edf2f5; }
- .gc-list-badge-warning, .gc-list-badge-1 { background: #fff3bd; border-color: #c8af45; }
- .gc-list-badge-2 { background: #f5dddd; border-color: #b30808; }
- .gc-list-badge-0 { background: #e6eedc; border-color: #92aa78; }
- .gc-wiedervorlage-edit { gap: .3rem; cursor: pointer; }
- .gc-wiedervorlage-edit:hover { filter: brightness(.96); }
- .gc-wiedervorlage-edit .icon { width: 1rem; height: 1rem; flex-shrink: 0; }
- .gc-list-page .btn { font-size: 1rem; border-radius: 6px; }
- .gc-list-page .gc-comment-toggle { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid #b1bcc7; background: #fff; color: #354f63; padding: .4rem .5rem; }
- .gc-comment-toggle[aria-expanded="true"] { background: #e6edf2; }
- .gc-list-page .gc-action-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; background: #fff; color: #354f63; border: 1px solid #72889b; }
- .gc-list-page .gc-action-btn:hover { background: #c7dee7; }
- .gc-list-page .gc-action-btn .icon { font-size: 18px; width: 18px; height: 18px; }
- .gc-list-page .gc-comment-row > td { background: #f6f8fa; padding: 1rem; }
- .gc-row-comments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
- .gc-row-comments section { background: #fff; border: 1px solid #dce2e7; border-radius: 6px; padding: .85rem 1rem; }
- .gc-row-comments h3 { font-size: 1.125rem; margin: 0 0 .5rem; font-weight: 600; }
- .gc-row-comments p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
- .gc-list-empty { padding: 2rem !important; text-align: center; color: #52616f; }
- .gc-list-load td { padding: .5rem; text-align: center; color: #52616f; font-size: 1rem; }
- .gc-floating-table-head { position: fixed; z-index: 1020; overflow: hidden; pointer-events: none; box-shadow: 0 3px 7px #18263018; }
- .gc-floating-table-head .gc-list-table { min-width: 0; }
- .gc-list-summary { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1025; background: #edf1f4; border-top: 1px solid #b1bcc7; color: #182630; font-size: 1rem; box-shadow: 0 -2px 8px #18263008; }
- .gc-summary-inner { width: calc(100% - 1.5rem); max-width: 1816px; margin: auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1.5rem; padding: .8rem 1.25rem; }
- .gc-summary-inner > div { display: flex; gap: .65rem; align-items: baseline; }
- .gc-summary-total strong { font-size: 1.125rem; }
- .gc-active-filters summary { cursor: pointer; font-weight: 600; }
- .gc-active-filter-panel { position: absolute; bottom: calc(100% + .5rem); left: max(1rem, calc((100% - 1800px) / 2)); width: min(32rem, calc(100% - 2rem)); max-height: min(40vh, 20rem); overflow-y: auto; padding: 1rem; background: #fff; border: 1px solid #b1bcc7; border-radius: 8px; box-shadow: 0 4px 18px #18263020; }
- .gc-active-filter-panel > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: .75rem; padding: .4rem 0; overflow-wrap: anywhere; }
- .gc-active-filter-panel a { color: #354f63; }
- @media (max-width: 1199.98px) {
- .gc-list-filters { grid-template-columns: 1fr; }
- .gc-filter-group + .gc-filter-group { padding: 1rem 0 0; border-left: 0; border-top: 1px solid #dce2e7; }
- .gc-filter-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
- }
- @media (max-width: 575.98px) {
- .gc-list-page { padding: 1rem .5rem calc(var(--gc-summary-height) + 1rem); }
- .gc-list-filter-content { padding: .75rem; }
- .gc-filter-fields { grid-template-columns: minmax(0, 1fr); }
- .gc-summary-inner { padding: .6rem .75rem; gap: .5rem; font-size: .9375rem; }
- .gc-summary-total { flex: 1 1 100%; justify-content: space-between; }
- .gc-row-comments { grid-template-columns: minmax(0, 1fr); }
- }
|