1679 lines
38 KiB
CSS
1679 lines
38 KiB
CSS
/* ===========================================================
|
||
GLOBAL CUSTOM CSS
|
||
=========================================================== */
|
||
.with-bg {
|
||
position: relative;
|
||
min-height: 100%;
|
||
}
|
||
.with-bg::before {
|
||
content: "";
|
||
position: absolute;
|
||
inset: 0;
|
||
background: url('/images/Baggi-tekstilas-logolu.jpg') no-repeat center top;
|
||
background-size: 400px auto;
|
||
opacity: 0.15;
|
||
pointer-events: none;
|
||
z-index: 0;
|
||
}
|
||
.with-bg > * {
|
||
position: relative;
|
||
z-index: 1;
|
||
}
|
||
|
||
.q-page {
|
||
margin-top: 0;
|
||
}
|
||
|
||
@media (max-width: 768px) {
|
||
.with-bg::before {
|
||
background-size: 260px auto;
|
||
}
|
||
}
|
||
|
||
/* ===== ÜST BLOKLAR (SABİT) ===== */
|
||
.filter-sticky {
|
||
position: sticky;
|
||
top: 56px; /* q-header yüksekliği */
|
||
z-index: 300;
|
||
background: #fff;
|
||
}
|
||
|
||
.filter-collapsible {
|
||
background: #fff;
|
||
}
|
||
|
||
/* ===== TABLO SCROLL ===== */
|
||
.table-scroll {
|
||
margin-top: 0; /* 🔹 Boşluğu kaldır */
|
||
height: calc(100vh - 56px); /* 🔹 Header yüksekliği kadar kısalt */
|
||
overflow-y: auto;
|
||
overflow-x: auto;
|
||
position: relative;
|
||
}
|
||
|
||
.sticky-table .q-table__middle {
|
||
overflow: visible !important;
|
||
max-height: none !important;
|
||
}
|
||
|
||
.sticky-table .q-table__top {
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 220;
|
||
background: #fff;
|
||
box-shadow: 0 2px 4px rgba(0,0,0,0.08);
|
||
}
|
||
|
||
.sticky-table thead th {
|
||
position: sticky;
|
||
top: 40px;
|
||
z-index: 210;
|
||
background: #fff;
|
||
}
|
||
|
||
/* 🔹 Toggle bar */
|
||
.sticky-bar {
|
||
position: sticky;
|
||
top: 0; /* tablo scroll başladığında en üstte kalsın */
|
||
z-index: 230;
|
||
background: #fff;
|
||
padding: 4px 8px;
|
||
border-bottom: 1px solid #ddd;
|
||
}
|
||
|
||
/* ===== KOLON DARALTMA + WRAP ===== */
|
||
.sticky-table thead th {
|
||
resize: horizontal;
|
||
overflow: auto;
|
||
min-width: 80px;
|
||
max-width: 400px;
|
||
}
|
||
|
||
.sticky-table td {
|
||
min-width: 80px;
|
||
max-width: 400px;
|
||
white-space: normal !important;
|
||
word-break: break-word !important;
|
||
overflow-wrap: break-word !important;
|
||
line-height: 1.2rem;
|
||
padding: 4px 8px !important;
|
||
font-weight: 600;
|
||
font-size: 0.95rem;
|
||
}
|
||
|
||
/* ===== GÖRSEL ===== */
|
||
.baggi-ppct {
|
||
display: block;
|
||
margin: 30px auto 0;
|
||
max-width: 400px;
|
||
opacity: 0.4;
|
||
}
|
||
|
||
.col-desc {
|
||
white-space: normal !important;
|
||
word-break: break-word !important;
|
||
overflow-wrap: break-word;
|
||
font-size: 0.75rem !important;
|
||
line-height: 1.1rem;
|
||
width: 220px !important;
|
||
max-width: 220px !important;
|
||
min-width: 180px !important;
|
||
}
|
||
|
||
/* ===== TABLO GÖRÜNÜM ===== */
|
||
.custom-table { font-size: 0.8rem; }
|
||
.custom-table th { background: #fff; font-weight: 800; color: #222; }
|
||
.custom-table td { font-weight: 600; color: #333; }
|
||
|
||
.custom-subtable { font-size: 0.72rem; background: #fafafa; }
|
||
.custom-subtable th { background: #f9f9f9; font-weight: 500; color: #555; }
|
||
.custom-subtable td { font-weight: 400; color: #666; }
|
||
|
||
/* dar sütunlar için */
|
||
.col-narrow {
|
||
font-size: 0.72rem;
|
||
padding: 2px 6px !important;
|
||
max-width: 90px;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
/* ===== GRUP SATIRI ===== */
|
||
.group-row {
|
||
background: #f1f1f1 !important;
|
||
font-weight: 700 !important;
|
||
color: #222;
|
||
border-top: 2px solid #ccc;
|
||
border-bottom: 2px solid #ccc;
|
||
}
|
||
|
||
/* ===== BALANCE CARD ===== */
|
||
.balance-card {
|
||
width: 100%;
|
||
min-height: 120px;
|
||
border-radius: 8px;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.q-table td[data-col="belge_no"],
|
||
.q-table td[data-col="Belge_No"],
|
||
.q-table td[data-col="BELGE_NO"] {
|
||
color: var(--q-primary) !important;
|
||
font-weight: 600 !important;
|
||
}
|
||
|
||
/* ===========================================================
|
||
PERMISSIONS PAGE (FINAL)
|
||
=========================================================== */
|
||
|
||
/* Toolbar */
|
||
.permissions-toolbar {
|
||
position: sticky;
|
||
top: 42px; /* q-header yüksekliği */
|
||
z-index: 300;
|
||
background: #fff;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12px;
|
||
padding: 8px 16px;
|
||
border-bottom: 1px solid #ddd;
|
||
}
|
||
|
||
/* Table scroll alanı */
|
||
.permissions-table-scroll {
|
||
height: calc(100vh - 112px); /* header (56) + toolbar (56) */
|
||
overflow-y: auto;
|
||
overflow-x: auto;
|
||
position: relative;
|
||
}
|
||
|
||
/* Tablo gövdesi */
|
||
.permissions-table .q-table__middle {
|
||
overflow: auto !important;
|
||
max-height: none !important;
|
||
padding-top: 0px; /* 🔑 Başlık yüksekliği kadar boşluk bırak */
|
||
}
|
||
|
||
/* Sticky başlıklar – toolbar’ın altında */
|
||
.permissions-table thead th {
|
||
position: sticky;
|
||
top:10px; /* toolbar altında hizalanır */
|
||
z-index: 210;
|
||
background: #fff;
|
||
box-shadow: 0 2px 4px rgba(0,0,0,0.08);
|
||
}
|
||
|
||
/* Hücreler */
|
||
.permissions-table td {
|
||
min-width: 80px;
|
||
max-width: 400px;
|
||
white-space: normal !important;
|
||
word-break: break-word !important;
|
||
overflow-wrap: break-word !important;
|
||
line-height: 1.2rem;
|
||
padding: 4px 8px !important;
|
||
font-weight: 600;
|
||
font-size: 0.95rem;
|
||
background: #fff;
|
||
}
|
||
|
||
/* İlk kolon (role) sabit */
|
||
.permissions-table .permissions-sticky-col {
|
||
position: sticky;
|
||
left: 0;
|
||
z-index: 205;
|
||
background: #fff;
|
||
box-shadow: 2px 0 4px rgba(0,0,0,0.04);
|
||
}
|
||
|
||
/* ===========================================================
|
||
1️⃣ ROOT & GLOBAL RESET
|
||
=========================================================== */
|
||
:root {
|
||
--header-h: 0px;
|
||
--filter-h: 72px;
|
||
--save-h: 60px;
|
||
--grid-header-h: 172px;
|
||
--sub-header-h: 34px;
|
||
--drawer-w: 240px;
|
||
|
||
/* Grid kolon genişlikleri */
|
||
--col-model: 90px;
|
||
--col-renk: 80px;
|
||
--col-ana: 100px;
|
||
--col-alt: 100px;
|
||
--col-aciklama: 140px;
|
||
--col-adet: 70px;
|
||
--col-fiyat: 70px;
|
||
--col-pb: 70px;
|
||
--col-tutar: 70px;
|
||
--col-termin: 142px; /* 🔹 termin tarihi kolon genişliği */
|
||
|
||
/* Beden blok ölçüleri */
|
||
--grp-title-w: 90px;
|
||
--grp-title-gap: 4px;
|
||
--beden-w: 44px;
|
||
--beden-h: 28px;
|
||
--beden-count: 16;
|
||
|
||
/* Tema renkleri */
|
||
--baggi-gold: #c9a227;
|
||
--baggi-gold-pale: #fff9e6;
|
||
--baggi-gold-light: #fff7d2;
|
||
--baggi-cream: #fffef9;
|
||
--baggi-gray-border: #bbb;
|
||
}
|
||
|
||
*, *::before, *::after { box-sizing: border-box; }
|
||
html, body { height: 100%; margin: 0; }
|
||
body {
|
||
background: #fff;
|
||
color: #222;
|
||
font-family: Inter, "Segoe UI", Arial, sans-serif;
|
||
font-size: 14px;
|
||
line-height: 1.4;
|
||
}
|
||
#q-app, .q-page-container { margin: 0; padding: 0; }
|
||
.q-layout__page { top: 0 !important; }
|
||
/* ===========================================================
|
||
2️⃣ PAGE STRUCTURE & SCROLL
|
||
=========================================================== */
|
||
.order-page {
|
||
display: flex;
|
||
flex-direction: column;
|
||
height: calc(100vh - var(--header-h));
|
||
overflow-y: auto;
|
||
overflow-x: visible;
|
||
background: #fff;
|
||
padding-top: 0 !important;
|
||
}
|
||
/* Quasar header offsetunu sadece order sayfasında sıfırla */
|
||
.q-page-container .order-page {
|
||
margin-top: calc(-1 * var(--header-h) - 58px);
|
||
}
|
||
|
||
.body--drawer-left-open .q-page-container {
|
||
margin-left: var(--drawer-w);
|
||
width: calc(100% - var(--drawer-w));
|
||
}
|
||
.body--drawer-left-closed .q-page-container {
|
||
margin-left: 0; width: 100%;
|
||
}
|
||
|
||
/* 🔸 Yatay scroll sadece grid alanında */
|
||
.order-scroll-x {
|
||
flex: 1;
|
||
overflow-x: auto;
|
||
overflow-y: visible;
|
||
background: #fff;
|
||
}
|
||
/* 🔸 Scrollbar stili */
|
||
|
||
.order-page::-webkit-scrollbar-thumb,
|
||
.order-scroll-x::-webkit-scrollbar {
|
||
height: 8px; width: 8px;
|
||
}
|
||
.order-scroll-x::-webkit-scrollbar-thumb {
|
||
background: #c0a75e;
|
||
border-radius: 4px;
|
||
}
|
||
.order-scroll-x::-webkit-scrollbar-track {
|
||
background: #f9f5e6;
|
||
}
|
||
|
||
/* ===========================================================
|
||
3️⃣ STICKY STACK (HEADER + TOOLBARS)
|
||
=========================================================== */
|
||
.q-header {
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 1000;
|
||
box-shadow: 0 1px 2px rgba(0,0,0,0.08);
|
||
}
|
||
|
||
.sticky-stack {
|
||
position: sticky;
|
||
top: var(--header-h);
|
||
margin-top: 0 !important;
|
||
z-index: 950;
|
||
display: flex;
|
||
flex-direction: column;
|
||
background: #fff;
|
||
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
|
||
}
|
||
|
||
/* 🔹 Filtre bar */
|
||
.filter-bar {
|
||
background: #fafafa;
|
||
border-bottom: 1px solid #ddd;
|
||
padding: 8px 12px;
|
||
margin-top:0 !important;
|
||
}
|
||
.filter-bar .q-field__label {
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
line-height: 1.1;
|
||
font-size: 12px;
|
||
}
|
||
.filter-bar .q-field__control,
|
||
.filter-bar .q-field__native,
|
||
.filter-bar .q-field__marginal {
|
||
min-height: 36px;
|
||
}
|
||
.filter-bar-desc {
|
||
padding: 0 12px 6px;
|
||
background: #fafafa;
|
||
border-bottom: 1px solid #ddd;
|
||
}
|
||
|
||
/* 🔹 Save toolbar */
|
||
.save-toolbar {
|
||
background: var(--baggi-gold-pale);
|
||
border-top: 1px solid #ddd;
|
||
border-bottom: 1px solid #ddd;
|
||
padding: 6px 10px;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
z-index: 940;
|
||
}
|
||
.save-toolbar .label { font-weight: 700; color: #6a5314; }
|
||
.save-toolbar .value { font-weight: 700; color: #000; }
|
||
.save-toolbar .q-btn {
|
||
font-weight: 600;
|
||
border-radius: 6px;
|
||
text-transform: none;
|
||
}
|
||
/* ===========================================================
|
||
4️⃣ GRID HEADER (ANA BAŞLIK BLOKU)
|
||
=========================================================== */
|
||
.order-grid-header {
|
||
position: sticky;
|
||
top: calc(var(--header-h) + var(--filter-h) + var(--save-h));
|
||
z-index: 700;
|
||
display: grid;
|
||
grid-auto-flow: column;
|
||
grid-template-columns:
|
||
var(--col-model)
|
||
var(--col-renk)
|
||
var(--col-ana)
|
||
var(--col-alt)
|
||
var(--col-aciklama)
|
||
calc(var(--grp-title-w) + var(--grp-title-gap) + (var(--beden-w)*var(--beden-count)))
|
||
var(--col-adet)
|
||
var(--col-fiyat)
|
||
var(--col-pb)
|
||
var(--col-tutar)
|
||
var(--col-termin);
|
||
background: var(--baggi-cream);
|
||
border-bottom: 2px solid var(--baggi-gray-border);
|
||
box-shadow: 0 2px 3px rgba(0,0,0,0.05);
|
||
}
|
||
|
||
/* Sabit kolonlar */
|
||
.order-grid-header .col-fixed {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
writing-mode: vertical-lr;
|
||
transform: rotate(180deg);
|
||
background: var(--baggi-gold-light);
|
||
border: 1px solid #aaa;
|
||
font-weight: 700;
|
||
font-size: 12.5px;
|
||
height: var(--grid-header-h);
|
||
}
|
||
|
||
.order-grid-header .aciklama-col {
|
||
background: #fff9c4;
|
||
border-right: 2px solid #a6a6a6;
|
||
}
|
||
/* ===========================================================
|
||
5️⃣ BEDEN BLOKLARI & SAĞ TOPLAM
|
||
=========================================================== */
|
||
.order-grid-header .beden-block {
|
||
display: flex;
|
||
flex-direction: column;
|
||
height: var(--grid-header-h);
|
||
background: #fff;
|
||
border: 1px solid #ccc;
|
||
}
|
||
|
||
.order-grid-header .grp-row {
|
||
display: flex;
|
||
align-items: center;
|
||
height: var(--beden-h);
|
||
}
|
||
|
||
.order-grid-header .grp-title {
|
||
width: var(--grp-title-w);
|
||
text-align: right;
|
||
font-weight: 700;
|
||
font-size: 12px;
|
||
padding-right: 4px;
|
||
}
|
||
|
||
.order-grid-header .grp-body {
|
||
display: grid;
|
||
grid-auto-flow: column;
|
||
grid-auto-columns: var(--beden-w);
|
||
}
|
||
.order-grid-header .grp-cell.hdr {
|
||
width: var(--beden-w);
|
||
height: var(--beden-h);
|
||
border: 1px solid #bbb;
|
||
font-size: 11.5px;
|
||
font-weight: 600;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.order-grid-header .total-row {
|
||
display: flex;
|
||
align-items: stretch;
|
||
justify-content: flex-start;
|
||
background: #fff59d;
|
||
grid-column: 7 / -1;
|
||
}
|
||
.order-grid-header .total-cell {
|
||
width: var(--col-adet);
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
writing-mode: vertical-lr;
|
||
transform: rotate(180deg);
|
||
border-right: 1px solid #bbb;
|
||
background: var(--baggi-gold-pale);
|
||
font-weight: 700;
|
||
font-size: 12px;
|
||
}
|
||
.order-grid-header .total-cell:last-child {
|
||
width: var(--col-termin);
|
||
}
|
||
/* ===========================================================
|
||
6️⃣ SUB-HEADER (ÜRÜN GRUBU BAR) — TAM HİZALANMIŞ
|
||
=========================================================== */
|
||
.order-sub-header {
|
||
padding-right: 0 !important; /* 🔹 Ekstra sağ boşluğu kaldır */
|
||
margin-right: 0 !important;
|
||
}
|
||
.order-sub-header {
|
||
position: sticky;
|
||
top: calc(
|
||
var(--header-h)
|
||
+ var(--filter-h)
|
||
+ var(--save-h)
|
||
+ var(--grid-header-h)
|
||
);
|
||
z-index: 650;
|
||
|
||
/* 🔹 Header ile birebir grid düzeni */
|
||
display: grid;
|
||
grid-auto-flow: column;
|
||
grid-template-columns:
|
||
var(--col-model)
|
||
var(--col-renk)
|
||
var(--col-ana)
|
||
var(--col-alt)
|
||
var(--col-aciklama)
|
||
calc(var(--grp-title-w) + var(--grp-title-gap) + (var(--beden-w) * var(--beden-count)))
|
||
var(--col-adet)
|
||
var(--col-fiyat)
|
||
var(--col-pb)
|
||
var(--col-tutar)
|
||
var(--col-termin);
|
||
|
||
align-items: center;
|
||
justify-items: stretch;
|
||
height: var(--sub-header-h);
|
||
min-height: var(--sub-header-h);
|
||
|
||
/* 🔹 Görsel */
|
||
background: linear-gradient(90deg, #fffbe9 0%, #fff4c4 50%, #fff1b0 100%);
|
||
border-top: 1px solid #d6c06a;
|
||
border-bottom: 1px solid #d6c06a;
|
||
|
||
/* 🔹 Hatalı hizalamaları engelle */
|
||
box-sizing: border-box;
|
||
overflow: hidden;
|
||
padding: 0 !important;
|
||
margin: 0 !important;
|
||
padding-right: 0 !important; /* ✅ sağ taşmayı önler */
|
||
}
|
||
|
||
/* 🔹 Genişlik eşitleme */
|
||
:root {
|
||
--col-termin: 142px; /* ✅ q-input genişliğiyle birebir */
|
||
}
|
||
|
||
/* 🔹 Sub-header hover efekti */
|
||
.order-sub-header:hover {
|
||
background: linear-gradient(90deg, #fff9cf 0%, #fff3b0 70%, #ffe88f 100%);
|
||
}
|
||
|
||
|
||
/* 🔹 Sol taraf (MODEL–AÇIKLAMA alanı) */
|
||
.order-sub-header .sub-left {
|
||
grid-column: 1 / span 5;
|
||
font-weight: 800;
|
||
padding-left: 6px;
|
||
color: #2b1f05;
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
/* 🔹 Orta beden bloğu (header’la aynı yapı) */
|
||
.order-sub-header .sub-center {
|
||
grid-column: 6 / 7;
|
||
display: grid;
|
||
grid-auto-flow: column;
|
||
grid-auto-columns: var(--beden-w);
|
||
justify-content: start;
|
||
align-items: center;
|
||
width: calc(var(--grp-title-w) + var(--grp-title-gap) + (var(--beden-w) * var(--beden-count)));
|
||
padding-left: var(--grp-title-w);
|
||
margin-left: var(--grp-title-gap);
|
||
height: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.order-sub-header .beden-cell {
|
||
width: var(--beden-w);
|
||
height: 100%;
|
||
border: 1px solid #d8c16b;
|
||
border-right: none;
|
||
background: #fffdf3;
|
||
font-size: 12px;
|
||
font-weight: 600;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
box-sizing: border-box;
|
||
}
|
||
.order-sub-header .beden-cell:last-child {
|
||
border-right: 1px solid #d8c16b;
|
||
}
|
||
|
||
/* 🔹 Sağ taraf (adet–fiyat–pb–tutar–termin toplamları) */
|
||
.order-sub-header .sub-right {
|
||
grid-column: 7 / -1;
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
align-items: flex-end;
|
||
text-align: right;
|
||
padding-right: 0px;
|
||
font-weight: 900;
|
||
color: #3b2f09;
|
||
line-height: 1.3;
|
||
text-transform: uppercase;
|
||
font-size: 13.5px;
|
||
transform: translateX(-60px);
|
||
}
|
||
|
||
.order-sub-header:hover {
|
||
background: linear-gradient(90deg,#fff9cf 0%,#fff3b0 70%,#ffe88f 100%);
|
||
}
|
||
|
||
:root {
|
||
--sub-header-h: 60px;
|
||
}
|
||
|
||
|
||
/* Taşmayı engelle (ihtiyaten) */
|
||
.order-sub-header {
|
||
overflow: hidden;
|
||
}
|
||
|
||
/* ===========================================================
|
||
7️⃣ GRID BODY & SATIRLAR — TAM HİZALANMIŞ
|
||
=========================================================== */
|
||
.order-grid-body {
|
||
position: relative;
|
||
background: #fff;
|
||
margin-top: 0 !important;
|
||
padding-top: var(--sub-header-h);
|
||
z-index: 100;
|
||
}
|
||
.order-scroll-y.compact-grid-header {
|
||
--grid-header-h: var(--beden-h);
|
||
}
|
||
.order-scroll-y.compact-grid-header .order-grid-header .col-fixed {
|
||
writing-mode: horizontal-tb;
|
||
transform: none;
|
||
height: var(--grid-header-h);
|
||
font-size: 10px;
|
||
line-height: 1;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
padding: 0 4px;
|
||
}
|
||
.order-scroll-y.compact-grid-header .order-grid-header .total-cell {
|
||
writing-mode: horizontal-tb;
|
||
transform: none;
|
||
height: var(--grid-header-h);
|
||
font-size: 10px;
|
||
line-height: 1;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
padding: 0 4px;
|
||
}
|
||
.order-grid-header.compact {
|
||
height: var(--beden-h);
|
||
}
|
||
.order-grid-header.compact .beden-block {
|
||
height: var(--beden-h);
|
||
}
|
||
.order-grid-header.compact .col-fixed,
|
||
.order-grid-header.compact .total-cell {
|
||
writing-mode: horizontal-tb;
|
||
transform: none;
|
||
height: var(--beden-h);
|
||
font-size: 10px;
|
||
line-height: 1;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
padding: 0 4px;
|
||
}
|
||
.order-grid-header.compact .total-cell {
|
||
width: var(--col-adet);
|
||
}
|
||
.order-grid-header.compact .total-cell:nth-child(2) {
|
||
width: var(--col-fiyat);
|
||
}
|
||
.order-grid-header.compact .total-cell:nth-child(3) {
|
||
width: var(--col-pb);
|
||
}
|
||
.order-grid-header.compact .total-cell:nth-child(4) {
|
||
width: var(--col-tutar);
|
||
}
|
||
.order-grid-header.compact .total-cell:nth-child(5) {
|
||
width: var(--col-termin);
|
||
}
|
||
.order-grid-header.compact .grp-row {
|
||
height: var(--beden-h);
|
||
}
|
||
.order-grid-header.compact .grp-row:not(:first-child) {
|
||
display: none;
|
||
}
|
||
.order-grid-header.compact .grp-title {
|
||
display: none;
|
||
}
|
||
.order-grid-header.compact .grp-row:first-child .grp-title {
|
||
display: block;
|
||
font-size: 10px;
|
||
line-height: 1;
|
||
white-space: nowrap;
|
||
padding-right: 4px;
|
||
}
|
||
.order-grid-header.compact .grp-body {
|
||
height: var(--beden-h);
|
||
align-items: center;
|
||
}
|
||
.order-grid-header.compact .grp-cell.hdr {
|
||
height: var(--beden-h);
|
||
font-size: 10px;
|
||
}
|
||
.order-scroll-y.compact-grid-header .order-grid-header .grp-title {
|
||
display: none;
|
||
}
|
||
.order-scroll-y.compact-grid-header .order-grid-header .grp-row {
|
||
align-items: center;
|
||
height: var(--beden-h);
|
||
}
|
||
.order-scroll-y.compact-grid-header .order-grid-header .grp-body {
|
||
grid-template-rows: var(--beden-h);
|
||
align-items: center;
|
||
}
|
||
.order-scroll-y.compact-grid-header .order-grid-header .grp-cell.hdr {
|
||
height: var(--beden-h);
|
||
}
|
||
.order-scroll-y.compact-grid-header .order-grid-header .total-row {
|
||
align-items: center;
|
||
}
|
||
.order-scroll-y.compact-grid-header .order-grid-body {
|
||
padding-top: var(--sub-header-h);
|
||
}
|
||
|
||
.summary-row {
|
||
display: grid;
|
||
grid-template-columns:
|
||
var(--col-model)
|
||
var(--col-renk)
|
||
var(--col-ana)
|
||
var(--col-alt)
|
||
var(--col-aciklama)
|
||
calc(var(--grp-title-w) + var(--grp-title-gap) + (var(--beden-w) * var(--beden-count)))
|
||
var(--col-adet)
|
||
var(--col-fiyat)
|
||
var(--col-pb)
|
||
var(--col-tutar)
|
||
var(--col-termin);}
|
||
|
||
.summary-row:hover {
|
||
background: #fffce0;
|
||
}
|
||
.summary-row.is-editing {
|
||
background: #fff3cd;
|
||
outline: 2px solid #caa83f;
|
||
}
|
||
|
||
.summary-row .cell {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
height: var(--beden-h);
|
||
padding: 4px 6px;
|
||
font-size: 13px;
|
||
color: #222;
|
||
box-sizing: border-box;
|
||
}
|
||
.summary-row.row-closed {
|
||
opacity: 0.55;
|
||
background: #f5f5f5;
|
||
pointer-events: none;
|
||
}
|
||
.summary-row.row-closed:hover {
|
||
background: #f5f5f5 !important;
|
||
}
|
||
|
||
.summary-row:nth-child(odd) { background: #fffef9; }
|
||
|
||
/* 🔹 Beden blok hizalaması */
|
||
.summary-row .grp-area {
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
transform: translateX(calc(var(--grp-title-w) - var(--beden-w)));
|
||
}
|
||
.summary-row .grp-row {
|
||
display: grid;
|
||
grid-auto-flow: column;
|
||
grid-auto-columns: var(--beden-w);
|
||
}
|
||
.summary-row .grp-row .cell.beden {
|
||
width: var(--beden-w);
|
||
height: var(--beden-h);
|
||
border: 1px solid #ddd;
|
||
font-size: 12px;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
.cell.beden.ghost {
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
border: 1px solid transparent !important;
|
||
}
|
||
|
||
/* 🔹 Sağ kolonlar */
|
||
.summary-row .cell.adet,
|
||
.summary-row .cell.fiyat,
|
||
.summary-row .cell.pb,
|
||
.summary-row .cell.tutar,
|
||
.summary-row .cell.termin {
|
||
font-weight: 600;
|
||
color: #000;
|
||
border-left: none !important;
|
||
height: 100%;
|
||
}
|
||
|
||
.summary-row .cell.tutar {
|
||
text-align: right;
|
||
justify-content: flex-end;
|
||
padding-right: 8px;
|
||
border-right: none !important;
|
||
}
|
||
|
||
.summary-row .cell.termin {
|
||
background: #fffef9;
|
||
justify-content: center;
|
||
align-items: center;
|
||
min-width: var(--col-termin);
|
||
}
|
||
.summary-row .cell.termin .q-input {
|
||
width: 100%;
|
||
max-width: 142px !important;
|
||
box-sizing: border-box;
|
||
}
|
||
.summary-row .cell.termin input {
|
||
text-align: center;
|
||
font-size: 13px;
|
||
}
|
||
|
||
/* ===========================================================
|
||
9️⃣ ORDER EDITOR (ALT FORM)
|
||
=========================================================== */
|
||
.editor {
|
||
position: relative;
|
||
z-index: 50;
|
||
background: #fffef9;
|
||
border-top: 1px solid #ddd;
|
||
margin-top: 24px;
|
||
padding: 16px;
|
||
}
|
||
.editor::before {
|
||
content: "";
|
||
display: block;
|
||
height: 4px;
|
||
background: linear-gradient(to right,#c9a227,#e5d28b,#fff7d2);
|
||
margin-bottom: 12px;
|
||
border-radius: 2px;
|
||
}
|
||
.editor .q-btn:hover { background: #d2b04d; }
|
||
.editor .q-input,
|
||
.editor .q-select { margin-bottom: 8px; font-size: 14px; }
|
||
.cell.termin .termin-label {
|
||
width: 100%;
|
||
height: 100%;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-weight: 600;
|
||
font-size: 13px;
|
||
color: #222;
|
||
background: #fffef9;
|
||
border-left: 1px solid #ccc;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/* ===========================================================
|
||
🔟 RESPONSIVE + MİNÖR DÜZEN
|
||
=========================================================== */
|
||
@media (max-width: 1024px) {
|
||
:root { --beden-w: 40px; --col-aciklama: 120px; }
|
||
.order-grid-header .col-fixed { font-size: 11px; }
|
||
.order-sub-header { font-size: 12.5px; }
|
||
}
|
||
@media (max-width: 768px) {
|
||
:root {
|
||
--beden-w: 36px;
|
||
--col-model: 70px;
|
||
--col-renk: 60px;
|
||
--col-aciklama: 100px;
|
||
}
|
||
.order-page { font-size: 13px; }
|
||
.order-grid-header .total-cell { font-size: 10.5px; }
|
||
}
|
||
|
||
.summary-row .cell {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
padding: 4px 6px;
|
||
height: auto;
|
||
text-align: center;
|
||
white-space: normal;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
.summary-row .grp-area,
|
||
.summary-row .grp-row,
|
||
.summary-row .grp-row .cell.beden {
|
||
align-items: center;
|
||
height: 100%;
|
||
}
|
||
.summary-row .cell.aciklama {
|
||
grid-column: 5 / 6 !important; /* sadece 5. kolon */
|
||
position: relative !important;
|
||
width: calc(var(--col-aciklama) + 92px) !important; /* 🔹 74px genişletme */
|
||
margin-right: -92px !important; /* 🔹 bedenle tam hizalanır */
|
||
white-space: normal !important;
|
||
word-break: break-word !important;
|
||
overflow-wrap: break-word !important;
|
||
line-height: 1.4 !important;
|
||
padding: 6px 12px !important;
|
||
font-size: 13px !important;
|
||
text-align: left !important;
|
||
display: flex !important;
|
||
flex-direction: column !important;
|
||
align-items: flex-start !important;
|
||
justify-content: flex-start !important;
|
||
min-height: 36px !important;
|
||
background: #fff !important;
|
||
box-sizing: border-box !important;
|
||
border-right: 1px solid #ccc !important;
|
||
z-index: 10 !important;
|
||
}
|
||
/* 🧩 Grid çizgi kontrastı güçlendirme */
|
||
.summary-row .cell,
|
||
.order-grid-header .col-fixed,
|
||
.summary-row .grp-row .cell.beden {
|
||
border-color: #bbb !important; /* 🔹 daha belirgin çizgi */
|
||
}
|
||
|
||
.summary-row .cell:not(:last-child) {
|
||
border-right: 1px solid #bdbdbd !important;
|
||
}
|
||
/* ===========================================================
|
||
🧱 ALT GRID ÇİZGİLERİ – TÜM SATIRLAR İÇİN
|
||
=========================================================== */
|
||
.summary-row {
|
||
border-bottom: 1px solid #ccc; /* 🔹 satır alt çizgisi */
|
||
}
|
||
|
||
.summary-row:last-child {
|
||
border-bottom: 2px solid #b7a33a; /* 🔹 son satırda Baggi gold tonu */
|
||
}
|
||
|
||
/* 🔹 Hücrelerin alt çizgisi (beden dahil) */
|
||
.summary-row .cell,
|
||
.summary-row .grp-row .cell.beden {
|
||
border-bottom: 1px solid #ddd !important;
|
||
}
|
||
|
||
/* 🔹 Hover olduğunda grid çizgileri kaybolmasın */
|
||
.summary-row:hover .cell,
|
||
.summary-row:hover .grp-row .cell.beden {
|
||
border-bottom: 1px solid #ccc !important;
|
||
}
|
||
.summary-row:hover {
|
||
background: #fffce0;
|
||
}
|
||
|
||
.summary-row.is-editing {
|
||
background: #fff3cd;
|
||
outline: 2px solid #caa83f;
|
||
z-index: 2;
|
||
}
|
||
|
||
.editor .q-btn:hover {
|
||
background: #d2b04d;
|
||
color: #fff;
|
||
}
|
||
|
||
/* 🔹 Hover olduğunda grid çizgileri kaybolmasın */
|
||
.summary-row:hover .cell,
|
||
.summary-row:hover .grp-row .cell.beden {
|
||
border-bottom: 1px solid #ccc !important;
|
||
}
|
||
|
||
/* ===========================================================
|
||
🎨 STOK RENKLERİ (LOW–MID–HIGH)
|
||
=========================================================== */
|
||
.stok-red {
|
||
color: #e53935; /* 🔴 Kırmızı */
|
||
font-weight: 600;
|
||
}
|
||
|
||
.stok-yellow {
|
||
color: #f9a825; /* 🟡 Sarı */
|
||
font-weight: 600;
|
||
}
|
||
|
||
.stok-green {
|
||
color: #43a047; /* 🟢 Yeşil */
|
||
font-weight: 600;
|
||
}
|
||
.q-banner.rounded-borders {
|
||
border-radius: 8px;
|
||
}
|
||
.order-gateway {
|
||
background: linear-gradient(145deg, #fff 0%, #fafafa 100%);
|
||
height: 100%;
|
||
}
|
||
|
||
.order-btn {
|
||
font-size: 1.2rem;
|
||
padding: 20px 40px;
|
||
border-radius: 12px;
|
||
min-width: 280px;
|
||
transition: all 0.2s ease;
|
||
}
|
||
.order-btn:hover {
|
||
transform: translateY(-3px);
|
||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
||
}
|
||
/* ===========================================================
|
||
🧭 DRAWER AÇIKKEN GRID HİZALAMA FIX
|
||
=========================================================== */
|
||
|
||
/* Drawer açıkken içerik kaymaması */
|
||
.body--drawer-left-open .order-page {
|
||
width: calc(100vw - var(--drawer-w)); /* viewport'tan drawer genişliği kadar düş */
|
||
overflow-x: visible; /* dış overflow’u kes */
|
||
}
|
||
|
||
/* Scroll konteyner sadece grid içinde çalışsın */
|
||
.order-scroll-x {
|
||
max-width: 100%;
|
||
overflow-x: auto;
|
||
overflow-y: visible;
|
||
background: #fff;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/* Scrollbar ve sağ boşluğu dengeler */
|
||
.order-grid-header,
|
||
.order-sub-header,
|
||
.order-grid-body {
|
||
min-width: fit-content;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
/* ===========================================================
|
||
🧱 DRAWER AÇIKKEN TAM HİZALAMA FIX (v2)
|
||
=========================================================== */
|
||
|
||
/* Drawer açıkken tüm üst bloklar sağdan taşmasın */
|
||
.body--drawer-left-open .filter-bar,
|
||
.body--drawer-left-open .save-toolbar,
|
||
.body--drawer-left-open .order-grid-header,
|
||
.body--drawer-left-open .order-sub-header,
|
||
.body--drawer-left-open .order-grid-body {
|
||
width: calc(100vw - var(--drawer-w)); /* drawer genişliği kadar daralt */
|
||
margin-left: 0;
|
||
margin-right: 0;
|
||
overflow-x: hidden;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/* Drawer kapalıyken tam genişlik */
|
||
.body--drawer-left-closed .filter-bar,
|
||
.body--drawer-left-closed .save-toolbar,
|
||
.body--drawer-left-closed .order-grid-header,
|
||
.body--drawer-left-closed .order-sub-header,
|
||
.body--drawer-left-closed .order-grid-body {
|
||
width: 100vw;
|
||
}
|
||
|
||
/* Order grid sağ sınırı altın kenarlıkla bitir (optik kapanış) */
|
||
.order-grid-header,
|
||
.order-sub-header,
|
||
.order-grid-body {
|
||
border-right: 2px solid var(--baggi-gold);
|
||
}
|
||
/* ===========================================================
|
||
🎯 SAĞ ALT BOŞLUK FİNAL FIX
|
||
=========================================================== */
|
||
|
||
/* Drawer açıkken tüm grid konteynerleri sağdan tam sıfırla */
|
||
.body--drawer-left-open .order-page,
|
||
.body--drawer-left-open .filter-bar,
|
||
.body--drawer-left-open .save-toolbar,
|
||
.body--drawer-left-open .order-grid-header,
|
||
.body--drawer-left-open .order-sub-header,
|
||
.body--drawer-left-open .order-grid-body {
|
||
width: calc(100vw - var(--drawer-w) - 8px); /* 🔹 scrollbar toleransı */
|
||
padding-right: 0 !important;
|
||
margin-right: 0 !important;
|
||
overflow-x: visible !important;
|
||
}
|
||
|
||
/* Son altın kenarlık hizasını koru */
|
||
.order-grid-body {
|
||
border-right: 2px solid var(--baggi-gold);
|
||
}
|
||
/* ===========================================================
|
||
🎯 GRID SAĞ HİZALAMA (FILTER + SAVE + HEADER)
|
||
=========================================================== */
|
||
|
||
/* Ana scroll container referansı */
|
||
.order-scroll-x {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: flex-start; /* hizalama sola */
|
||
overflow-x: auto;
|
||
overflow-y: visible;
|
||
background: #fff;
|
||
}
|
||
|
||
/* Filter ve Save barlar grid genişliğini takip etsin */
|
||
.filter-bar,
|
||
.save-toolbar,
|
||
.order-grid-header,
|
||
.order-sub-header {
|
||
width: fit-content; /* içeriğe göre genişlik */
|
||
min-width: 100%; /* minimum ekran kadar */
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/* Grid body’nin genişliği kadar sağ hizalama */
|
||
.order-grid-body {
|
||
width: fit-content;
|
||
box-sizing: border-box;
|
||
}
|
||
/* 🔒 Kapalı satır */
|
||
.summary-row.row-closed {
|
||
background: #e6e6e6 !important;
|
||
opacity: 0.65;
|
||
pointer-events: none; /* tüm inputları disable eder */
|
||
}
|
||
|
||
/* Hover iptal */
|
||
.summary-row.row-closed:hover {
|
||
background: #e6e6e6 !important;
|
||
}
|
||
|
||
/* Edit efekti de kapansın */
|
||
.summary-row.row-closed.is-editing {
|
||
outline: none !important;
|
||
}
|
||
|
||
/* Sağ kenarda taşma veya padding olmasın */
|
||
.filter-bar,
|
||
.save-toolbar,
|
||
.order-grid-header,
|
||
.order-sub-header,
|
||
.order-grid-body {
|
||
margin-right: 0 !important;
|
||
padding-right: 0 !important;
|
||
border-right: none !important; /* altın çizgi istemiyorsan kaldırılır */
|
||
}
|
||
.summary-row.row-error {
|
||
background: rgba(193, 0, 21, 0.08);
|
||
}
|
||
|
||
.row-error-icon {
|
||
position: absolute;
|
||
left: 4px;
|
||
top: 50%;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
|
||
/* Drawer açık/kapalı fark etmeden */
|
||
.body--drawer-left-open .order-scroll-x,
|
||
.body--drawer-left-closed .order-scroll-x {
|
||
width: 100%;
|
||
overflow-x: auto;
|
||
}
|
||
|
||
/* ===============================
|
||
ORDER LIST (ol-) — Sticky Stack
|
||
=============================== */
|
||
|
||
:root {
|
||
/* Quasar header yüksekliği */
|
||
--ol-header-h: 56px;
|
||
/* Filter bar yüksekliği (px) — inputlar tek satırsa 56 idealdir */
|
||
--ol-filter-h: 96px;
|
||
}
|
||
|
||
/* q-page tek scroller: header altından başlar */
|
||
.ol-page {
|
||
height: calc(100vh - var(--ol-header-h));
|
||
overflow: auto; /* 🔑 tek scroll container */
|
||
background: #fff;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
/* Filter bar: q-header’ın altında sticky */
|
||
.ol-filter-bar {
|
||
position: sticky;
|
||
top: 0; /* 🔑 .ol-page scroller’ında en üst */
|
||
z-index: 600;
|
||
background: #fff;
|
||
border-bottom: 1px solid #ddd;
|
||
padding: 6px 10px;
|
||
box-shadow: 0 1px 2px rgba(0,0,0,0.06);
|
||
min-height: var(--ol-filter-h);
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
/* QTable: sticky thead, zebra aktif ve çakışma yok */
|
||
.ol-table .q-table__middle {
|
||
overflow: visible !important; /* sticky thead için güvenli */
|
||
max-height: none !important;
|
||
}
|
||
|
||
/* thead sabitleme: filter bar’ın ALTINA oturur */
|
||
.ol-table thead th {
|
||
position: sticky;
|
||
top: var(--ol-filter-h); /* 🔑 filter yüksekliği kadar boşluk */
|
||
z-index: 500;
|
||
background: #fff;
|
||
box-shadow: 0 2px 4px rgba(0,0,0,0.08);
|
||
font-weight: 700;
|
||
}
|
||
|
||
/* Zebra */
|
||
.ol-table .q-table__body .q-tr:nth-child(odd) {
|
||
background-color: #f7f7f7 !important;
|
||
}
|
||
.ol-table .q-table__body .q-tr:nth-child(even) {
|
||
background-color: #ffffff !important;
|
||
}
|
||
.ol-table .q-table__body .q-tr:hover {
|
||
background-color: #fff7d1 !important;
|
||
transition: background-color .15s ease;
|
||
}
|
||
|
||
/* Hücreler */
|
||
.ol-table .q-td {
|
||
font-size: .9rem;
|
||
line-height: 1.3;
|
||
padding: 6px 8px !important;
|
||
}
|
||
|
||
/* Güvenli z-index hiyerarşisi */
|
||
.q-header { z-index: 1000 !important; } /* header en üstte */
|
||
.q-drawer { z-index: 950 !important; } /* drawer header’ın altında */
|
||
|
||
/* Mobile */
|
||
@media (max-width: 768px) {
|
||
:root { --ol-filter-h: 64px; } /* input kırılıyorsa biraz artır */
|
||
.ol-filter-bar { padding: 8px 12px; }
|
||
}
|
||
/* ===========================================================
|
||
🟡 ORDERLIST ZEBRA FIX (v3)
|
||
=========================================================== */
|
||
|
||
/* Her iki tr katmanını da hedefliyoruz (Quasar q-tr + native tr) */
|
||
.ol-table tbody tr:nth-child(odd),
|
||
.ol-table .q-table__body .q-tr:nth-child(odd) {
|
||
background-color: #faf8ef !important; /* açık krem tonu */
|
||
}
|
||
|
||
.ol-table tbody tr:nth-child(even),
|
||
.ol-table .q-table__body .q-tr:nth-child(even) {
|
||
background-color: #ffffff !important;
|
||
}
|
||
|
||
/* Hover tonu: hafif Baggi gold dokunuşu */
|
||
.ol-table tbody tr:hover,
|
||
.ol-table .q-table__body .q-tr:hover {
|
||
background-color: #fff4cc !important;
|
||
transition: background-color 0.2s ease;
|
||
}
|
||
/* =========================================================
|
||
📌 OrderList — Toplam USD Banner
|
||
========================================================= */
|
||
.ol-qbanner {
|
||
background: #f9fafb;
|
||
border: 1px solid #e0e0e0;
|
||
border-radius: 6px;
|
||
padding: 8px 12px;
|
||
}
|
||
|
||
.ol-qbanner-amount {
|
||
color: #1976d2; /* Quasar primary */
|
||
margin-left: 6px;
|
||
}
|
||
/* =========================================================
|
||
📌 ORDER LIST (ol-) — MULTILINE COLUMN FIX
|
||
========================================================= */
|
||
|
||
/* Ortak çok satırlı davranış */
|
||
.ol-col-multiline {
|
||
white-space: normal !important;
|
||
overflow: hidden;
|
||
word-break: break-word;
|
||
line-height: 1.25rem;
|
||
}
|
||
|
||
/* 🧾 Cari Adı — 2 SATIR */
|
||
.ol-col-cari {
|
||
max-width: 200px;
|
||
min-width: 150px;
|
||
|
||
display: -webkit-box;
|
||
-webkit-box-orient: vertical;
|
||
|
||
font-weight: 600;
|
||
font-size: 0.88rem;
|
||
}
|
||
|
||
/* 📝 Açıklama — 5 SATIR */
|
||
.ol-col-desc {
|
||
max-width: 220px;
|
||
min-width: 160px;
|
||
|
||
display: -webkit-box;
|
||
-webkit-box-orient: vertical;
|
||
|
||
font-size: 0.82rem;
|
||
color: #444;
|
||
}
|
||
|
||
/* Hücre padding iyileştirme */
|
||
.ol-table .q-td.ol-col-cari,
|
||
.ol-table .q-td.ol-col-desc {
|
||
padding-top: 6px !important;
|
||
padding-bottom: 6px !important;
|
||
}
|
||
|
||
/* Header hizalama */
|
||
.ol-table th.ol-col-cari,
|
||
.ol-table th.ol-col-desc {
|
||
white-space: nowrap;
|
||
}
|
||
/* =========================================================
|
||
ORDER LIST — FILTER BAR FLEX FIX (FINAL)
|
||
========================================================= */
|
||
|
||
.ol-filter-bar {
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 600;
|
||
background: #fff;
|
||
border-bottom: 1px solid #ddd;
|
||
padding: 10px 12px;
|
||
}
|
||
|
||
/* 🔑 TEK SATIR */
|
||
.ol-filter-row {
|
||
display: flex;
|
||
align-items: flex-end; /* 🔑 tüm input & butonlar aynı çizgi */
|
||
gap: 12px;
|
||
flex-wrap: nowrap; /* ❌ alt satıra düşme */
|
||
}
|
||
|
||
/* Inputlar */
|
||
.ol-filter-input {
|
||
min-width: 180px;
|
||
max-width: 260px;
|
||
}
|
||
|
||
/* Arama biraz geniş */
|
||
.ol-search {
|
||
min-width: 280px;
|
||
}
|
||
|
||
/* Butonlar */
|
||
.ol-filter-actions {
|
||
display: flex;
|
||
gap: 8px;
|
||
align-items: center;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/* Toplam banner */
|
||
.ol-filter-total {
|
||
margin-left: auto; /* 🔑 sağa yasla */
|
||
background: #f9fafb;
|
||
border: 1px solid #e0e0e0;
|
||
border-radius: 6px;
|
||
padding: 8px 12px;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/* Mobile fallback */
|
||
@media (max-width: 1200px) {
|
||
.ol-filter-row {
|
||
flex-wrap: wrap;
|
||
row-gap: 8px;
|
||
}
|
||
|
||
.ol-filter-total {
|
||
width: 100%;
|
||
justify-content: flex-end;
|
||
}
|
||
}
|
||
|
||
.order-gateway {
|
||
min-height: 100vh;
|
||
}
|
||
|
||
.draft-card {
|
||
width: 320px;
|
||
max-width: 90vw;
|
||
}
|
||
/* ===========================================================
|
||
🕵️ ACTIVITY LOGS (act-) — GLOBAL
|
||
=========================================================== */
|
||
|
||
/* Sayfa konteyneri */
|
||
.act-page {
|
||
height: calc(100vh - 56px); /* q-header */
|
||
overflow: auto;
|
||
background: #fff;
|
||
}
|
||
|
||
/* Sticky filter bar */
|
||
.act-filter-bar {
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 620;
|
||
background: #fff;
|
||
border-bottom: 1px solid #ddd;
|
||
padding: 6px 10px;
|
||
box-shadow: 0 1px 2px rgba(0,0,0,0.06);
|
||
}
|
||
|
||
/* Filtre satırı */
|
||
.act-filter-row {
|
||
display: flex;
|
||
align-items: flex-end;
|
||
gap: 12px;
|
||
flex-wrap: nowrap;
|
||
}
|
||
|
||
/* Input genişlikleri */
|
||
.act-filter-input {
|
||
min-width: 160px;
|
||
max-width: 240px;
|
||
}
|
||
|
||
.act-filter-wide {
|
||
min-width: 260px;
|
||
}
|
||
|
||
/* Aksiyon butonları */
|
||
.act-filter-actions {
|
||
display: flex;
|
||
gap: 8px;
|
||
margin-left: auto;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/* Tablo */
|
||
.act-table {
|
||
font-size: 0.85rem;
|
||
}
|
||
|
||
/* Sticky thead */
|
||
.act-table thead th {
|
||
position: sticky;
|
||
top: 56px; /* filter bar yüksekliği */
|
||
z-index: 500;
|
||
background: #fff;
|
||
box-shadow: 0 2px 4px rgba(0,0,0,0.08);
|
||
font-weight: 700;
|
||
}
|
||
|
||
/* Zebra */
|
||
.act-table tbody tr:nth-child(odd) {
|
||
background: #faf8ef;
|
||
}
|
||
.act-table tbody tr:nth-child(even) {
|
||
background: #fff;
|
||
}
|
||
.act-table tbody tr:hover {
|
||
background: #fff4cc;
|
||
}
|
||
|
||
/* Hücreler */
|
||
.act-table .q-td {
|
||
padding: 6px 8px !important;
|
||
line-height: 1.25;
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* Başarılı / hatalı satır */
|
||
.act-row-success {
|
||
background: rgba(67, 160, 71, 0.06);
|
||
}
|
||
.act-row-fail {
|
||
background: rgba(211, 47, 47, 0.06);
|
||
}
|
||
|
||
/* Badge renkleri */
|
||
.act-badge-ok {
|
||
background: #43a047;
|
||
}
|
||
.act-badge-fail {
|
||
background: #e53935;
|
||
}
|
||
|
||
/* Dar kolon */
|
||
.act-col-narrow {
|
||
max-width: 90px;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
/* Route kolonu */
|
||
.act-col-route {
|
||
max-width: 260px;
|
||
white-space: normal;
|
||
word-break: break-word;
|
||
font-size: 0.8rem;
|
||
}
|
||
|
||
/* IP / UA */
|
||
.act-col-meta {
|
||
font-size: 0.75rem;
|
||
color: #555;
|
||
}
|
||
/* ================================
|
||
UserList — Piyasa Wrap (NO CUT)
|
||
================================ */
|
||
|
||
/* Hücre yukarıdan başlasın */
|
||
.ol-col-piyasa {
|
||
vertical-align: top;
|
||
padding-top: 6px !important;
|
||
padding-bottom: 6px !important;
|
||
}
|
||
|
||
/* Chip konteyner */
|
||
.piyasa-wrap {
|
||
display: flex;
|
||
flex-wrap: wrap; /* 🔑 alt satıra insin */
|
||
align-content: flex-start;
|
||
|
||
row-gap: 4px;
|
||
column-gap: 6px;
|
||
|
||
/* ❌ KESİNLİKLE YOK */
|
||
max-height: none;
|
||
overflow: visible;
|
||
}
|
||
|
||
/* Chip */
|
||
.piyasa-chip {
|
||
flex: 0 0 calc(25% - 6px); /* 🔑 satırda 4 adet */
|
||
max-width: calc(25% - 6px);
|
||
|
||
font-size: 11px;
|
||
font-weight: 600;
|
||
line-height: 1.1;
|
||
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
.user-detail-page {
|
||
background: #fafafa;
|
||
}
|
||
.image-preview {
|
||
width: 100%;
|
||
border-radius: 6px;
|
||
}
|
||
|
||
.image-thumb {
|
||
width: 100%;
|
||
border-radius: 4px;
|
||
}
|
||
|
||
.workorder-page {
|
||
padding-bottom: 80px;
|
||
}
|
||
/* ===============================
|
||
PERMISSIONS — BAGGI THEME
|
||
=============================== */
|
||
|
||
.permissions-page {
|
||
background: #fff;
|
||
height: calc(100vh - 56px);
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
/* Scroll alanı */
|
||
.permissions-table-scroll {
|
||
flex: 1;
|
||
overflow: auto;
|
||
background: #fff;
|
||
}
|
||
|
||
/* Tablo */
|
||
.permissions-table {
|
||
font-size: 0.85rem;
|
||
}
|
||
|
||
/* Sticky header */
|
||
.permissions-table thead th {
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 300;
|
||
background: var(--baggi-cream);
|
||
font-weight: 800;
|
||
color: #222;
|
||
box-shadow: 0 2px 3px rgba(0,0,0,0.06);
|
||
}
|
||
|
||
/* Hücreler */
|
||
.permissions-table td {
|
||
font-weight: 600;
|
||
padding: 6px 8px !important;
|
||
color: #333;
|
||
}
|
||
|
||
/* Zebra */
|
||
.permissions-table tbody tr:nth-child(odd) {
|
||
background: #fffef7;
|
||
}
|
||
.permissions-table tbody tr:nth-child(even) {
|
||
background: #ffffff;
|
||
}
|
||
.permissions-table tbody tr:hover {
|
||
background: #fff4cc;
|
||
}
|
||
|
||
/* Sol kolon sabit */
|
||
.permissions-sticky-col {
|
||
position: sticky;
|
||
left: 0;
|
||
z-index: 250;
|
||
background: #fff;
|
||
box-shadow: 2px 0 4px rgba(0,0,0,0.04);
|
||
font-weight: 700;
|
||
}
|
||
|
||
/* Header checkbox */
|
||
.permissions-table .q-th .column {
|
||
gap: 2px;
|
||
}
|
||
|
||
/* ===========================================================
|
||
ORDER ENTRY POPUP EDITOR
|
||
=========================================================== */
|
||
.order-editor-card {
|
||
width: 98vw;
|
||
max-width: 1900px;
|
||
}
|
||
.order-editor-card .editor {
|
||
max-height: 76vh;
|
||
overflow: auto;
|
||
}
|
||
.order-editor-dialog .q-dialog__inner--minimized {
|
||
max-width: 98vw;
|
||
}
|
||
.order-editor-dialog .q-dialog__inner > div {
|
||
width: 98vw;
|
||
max-width: 1900px;
|
||
}
|