:root{
  --sa-primary:#0b6e99; --sa-primary-dark:#07506f; --sa-accent:#12b5cb;
  --sa-sidebar:#0c2c3d; --sa-sidebar-2:#113a50; --sa-bg:#f3f6f9; --sa-text:#1d2b36;
  --bs-primary:#0b6e99; --bs-primary-rgb:11,110,153; --bs-link-color:#0b6e99; --bs-link-hover-color:#07506f;
}
body{background:var(--sa-bg);color:var(--sa-text);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:.925rem}
.btn-primary{--bs-btn-bg:var(--sa-primary);--bs-btn-border-color:var(--sa-primary);--bs-btn-hover-bg:var(--sa-primary-dark);--bs-btn-hover-border-color:var(--sa-primary-dark);--bs-btn-active-bg:var(--sa-primary-dark)}
.btn-outline-primary{--bs-btn-color:var(--sa-primary);--bs-btn-border-color:var(--sa-primary);--bs-btn-hover-bg:var(--sa-primary);--bs-btn-hover-border-color:var(--sa-primary)}
.text-primary{color:var(--sa-primary)!important}.bg-primary{background:var(--sa-primary)!important}
/* layout */
.sa-wrap{display:flex;min-height:100vh}
.sa-sidebar{width:250px;flex:0 0 250px;background:linear-gradient(180deg,var(--sa-sidebar),var(--sa-sidebar-2));color:#cfe3ee;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:1040;transition:transform .2s}
.sa-brand{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1.2rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem;border-bottom:1px solid rgba(255,255,255,.08)}
.sa-brand .drop{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--sa-accent),var(--sa-primary));display:grid;place-items:center;color:#fff}
.sa-tenant{padding:.75rem 1.2rem;font-size:.8rem;color:#9fc3d6;border-bottom:1px solid rgba(255,255,255,.08)}
.sa-tenant strong{display:block;color:#fff;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-nav{padding:.6rem .6rem 2rem}
.sa-nav .sec{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#6f98ad;padding:.9rem .7rem .3rem}
.sa-nav a{display:flex;align-items:center;gap:.7rem;color:#cfe3ee;text-decoration:none;padding:.5rem .7rem;border-radius:8px;margin-bottom:1px}
.sa-nav a i{font-size:1.05rem;width:20px;text-align:center;opacity:.85}
.sa-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.sa-nav a.active{background:rgba(18,181,203,.18);color:#fff;box-shadow:inset 3px 0 0 var(--sa-accent)}
.sa-nav .cnt{margin-left:auto;font-size:.7rem}
.sa-main{flex:1;min-width:0;display:flex;flex-direction:column}
.sa-top{background:#fff;border-bottom:1px solid #e3e9ee;padding:.6rem 1.25rem;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:1030}
.sa-top h1{font-size:1.15rem;margin:0;font-weight:600}
.sa-content{padding:1.25rem;flex:1}
.sa-impersonate{background:#fff3cd;border-bottom:1px solid #ffe08a;padding:.4rem 1.25rem;font-size:.85rem}
/* cards */
.card{border:1px solid #e3e9ee;border-radius:12px;box-shadow:0 1px 2px rgba(16,40,60,.04)}
.card-header{background:#fff;border-bottom:1px solid #eef2f5;font-weight:600;border-radius:12px 12px 0 0!important}
.stat{padding:1rem 1.1rem;display:flex;gap:.9rem;align-items:center}
.stat .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.35rem;flex:0 0 46px}
.stat .v{font-size:1.4rem;font-weight:700;line-height:1.1}
.stat .l{font-size:.78rem;color:#6b7c89}
.ic-blue{background:#e3f2fb;color:#0b6e99}.ic-teal{background:#dcf6f8;color:#0d8e9f}.ic-amber{background:#fff4dc;color:#b7791f}.ic-red{background:#fde8e8;color:#c53030}.ic-green{background:#e3f7ea;color:#2f855a}.ic-violet{background:#efe9fd;color:#6b46c1}
.table{--bs-table-bg:transparent;margin-bottom:0}
.table thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7c89;font-weight:600;border-bottom-width:1px;white-space:nowrap}
.table td{vertical-align:middle}
.table-hover tbody tr:hover{--bs-table-accent-bg:#f6fafc}
.dl-grid{display:grid;grid-template-columns:140px 1fr;gap:.35rem .75rem;font-size:.9rem}
.dl-grid dt{color:#6b7c89;font-weight:500}.dl-grid dd{margin:0}
.form-label{font-weight:500;font-size:.85rem;margin-bottom:.25rem}
.req:after{content:" *";color:#c53030}
.empty{padding:2.5rem 1rem;text-align:center;color:#8a9aa6}
.empty i{font-size:2rem;display:block;margin-bottom:.5rem;opacity:.5}
.page-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto}
.filter-bar .form-control,.filter-bar .form-select{min-width:140px}
.due-overdue{color:#c53030;font-weight:600}.due-soon{color:#b7791f;font-weight:600}
.timeline{border-left:2px solid #e3e9ee;margin-left:.5rem;padding-left:1rem}
.timeline .it{position:relative;padding-bottom:.9rem}
.timeline .it:before{content:"";position:absolute;left:-1.37rem;top:.3rem;width:10px;height:10px;border-radius:50%;background:var(--sa-accent);border:2px solid #fff}
.job-card{border-left:4px solid var(--sa-accent)}
.job-card.p-urgent{border-left-color:#e53e3e}.job-card.p-high{border-left-color:#dd6b20}
.auth-bg{min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,#12b5cb33,transparent),linear-gradient(160deg,#0c2c3d,#0b6e99);display:flex;align-items:center;justify-content:center;padding:1.5rem}
.auth-card{max-width:440px;width:100%;border-radius:18px}
.sa-backdrop{display:none}
@media (max-width:991.98px){
  .sa-sidebar{position:fixed;left:0;top:0;transform:translateX(-100%)}
  body.nav-open .sa-sidebar{transform:none}
  body.nav-open .sa-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1035}
  .sa-content{padding:.85rem}
  .dl-grid{grid-template-columns:110px 1fr}
}
@media print{
  .sa-sidebar,.sa-top,.no-print,.sa-impersonate{display:none!important}
  .sa-content{padding:0}.card{border:none;box-shadow:none}
  body{background:#fff}
}

.card-header a,.nav-link,.sa-brand,.page-actions a{text-decoration:none}
a.text-reset{text-decoration:none}

:root{--fc-button-bg-color:#0b6e99;--fc-button-border-color:#0b6e99;--fc-button-hover-bg-color:#07506f;--fc-button-hover-border-color:#07506f;--fc-button-active-bg-color:#07506f;--fc-button-active-border-color:#07506f;--fc-today-bg-color:#e8f6fa}
.fc a{text-decoration:none;color:inherit}.fc .fc-toolbar-title{font-size:1.2rem;font-weight:600}

/* ---------- Duyarlı liste tabloları (kart görünümü) ---------- */
.tc-val{display:contents}
.table-responsive.has-cards{overflow:visible}
table.is-cards,table.is-cards tbody,table.is-cards tfoot{display:block;width:100%}
table.is-cards thead{display:none}
table.is-cards tbody tr{display:flex;flex-wrap:wrap;align-items:center;column-gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid var(--bs-border-color)}
table.is-cards tbody tr:last-child{border-bottom:0}
table.is-cards.table-hover tbody tr:hover{background:#f6fafc}
table.is-cards > :not(caption) > * > *{border-bottom-width:0;box-shadow:none;background:transparent}
table.is-cards tbody td{flex:0 0 100%;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.18rem 0!important;text-align:right!important;white-space:normal!important;min-width:0}
table.is-cards tbody td .tc-val{display:block;min-width:0;overflow-wrap:anywhere}
table.is-cards tbody td[data-label]::before{content:attr(data-label);flex:0 0 auto;max-width:45%;text-align:left;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#7a8b97}
table.is-cards tbody td.tc-empty{display:none}
/* Başlık satırı: ilk anlamlı sütun + durum rozeti */
table.is-cards tbody td.tc-title{order:-2;flex:1 1 0;display:block;text-align:left!important;font-size:1rem;padding-bottom:.45rem!important}
table.is-cards tbody td.tc-title .tc-val{font-weight:600}
table.is-cards tbody td.tc-title .tc-val .small,table.is-cards tbody td.tc-title .tc-val .text-muted{font-weight:400}
table.is-cards tbody td.tc-status{order:-1;flex:0 0 auto;display:block;align-self:flex-start;padding-top:.1rem!important}
table.is-cards tbody td.tc-check{order:-3;flex:0 0 auto;display:block;align-self:flex-start;padding-top:.15rem!important}
table.is-cards tbody td.tc-actions{order:99;justify-content:flex-end;padding-top:.55rem!important}
table.is-cards tbody td.tc-actions:not(:has(*)){display:none}
table.is-cards tbody td.tc-full{display:block;text-align:center!important}
table.is-cards tfoot tr{display:flex;justify-content:space-between;padding:.35rem 1rem;border-top:1px solid var(--bs-border-color)}
table.is-cards tfoot td{display:block;border:0;padding:0!important}

/* ---------- Telefon: üst çubuk ve filtre çubuğu ---------- */
@media (max-width:575.98px){
  .sa-top{flex-wrap:wrap;row-gap:.5rem}
  .sa-top h1{flex:1 1 0;min-width:0;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sa-top .page-actions{order:3;flex:0 0 100%;margin-left:0}
  .sa-top .page-actions:empty{display:none}
  .sa-top .page-actions > .btn,.sa-top .page-actions > form,.sa-top .page-actions > select{flex:1 1 auto}
  .sa-top .page-actions > form .btn{width:100%}
  .filter-bar > .form-control,.filter-bar > .form-select{max-width:none!important;flex:1 1 calc(50% - .5rem);min-width:0}
  .filter-bar > input[name=q]{flex-basis:100%}
  .filter-bar > .btn{flex:0 0 auto}
  .nav-pills{flex-wrap:wrap;gap:.25rem}
  .nav-pills .nav-link{white-space:nowrap;background:var(--bs-light,#f8f9fa)}
  .nav-pills .nav-link.active{background:var(--sa-primary)}
}
table.is-cards tbody td.tc-seq{order:-3;flex:0 0 auto;display:block;font-weight:600;font-size:1rem;padding-bottom:.45rem!important}
table.is-cards tbody td.tc-seq .tc-val::after{content:"."}
.stat .v{white-space:nowrap}
@media (max-width:575.98px){
  .stat{padding:.8rem .85rem;gap:.65rem}
  .stat .v{font-size:1.1rem}
  .stat .ic{width:38px;height:38px;flex-basis:38px;font-size:1.1rem}
  .card-header.d-flex{flex-wrap:wrap;row-gap:.25rem}
}

.min-w-0{min-width:0}
/* Kart görünümünde form satırları (satış / iş emri malzemeleri) */
table.is-cards tbody td > .form-control,table.is-cards tbody td > .form-select{flex:0 0 52%;max-width:52%;text-align:right}
table.is-cards tbody td.tc-title > .form-select{width:100%;max-width:none;text-align:left;font-weight:400}
table.is-cards tbody td.tc-title > .stk{display:block;margin-top:.2rem;font-weight:400}
table.is-cards tbody td.lt{font-weight:600}
/* Pazaryerleri */
.mp-logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex:0 0 40px;font-size:18px;background:#64748b}
.mp-trendyol{background:#f27a1a}.mp-hepsiburada{background:#ff6000}.mp-n11{background:#7b2cbf}.mp-amazon{background:#232f3e}.mp-pazarama{background:#1b4fd8}.mp-ciceksepeti{background:#0aa36c}.mp-pttavm{background:#f5b700;color:#1d2b36}
.mp-num{font-size:1.15rem;font-weight:700;line-height:1.2}
.mp-map input.form-control-sm{min-width:110px}
table.is-cards tbody td:has(> .tc-val > .form-control, > .tc-val > .form-select){align-items:center}
table.is-cards tbody td > .tc-val:has(> .form-control, > .form-select){flex:0 0 58%;max-width:58%}
table.is-cards tbody td > .tc-val > .form-control,table.is-cards tbody td > .tc-val > .form-select{width:100%}
