*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#eef3f8;color:#07152f}.login-body{min-height:100vh;background:linear-gradient(120deg,#f7fbff 0%,#e9eef6 45%,#66717f 100%);display:flex;align-items:center;justify-content:center;padding:30px}.login-wrap{width:1120px;max-width:100%;display:grid;grid-template-columns:340px 1fr;gap:36px}.brand-card,.login-card{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.85);box-shadow:0 26px 70px rgba(9,21,45,.16);border-radius:28px;padding:34px}.brand-logo{max-width:260px;background:#fff;border-radius:18px;padding:12px;display:block;margin:0 auto 28px}.brand-title{font-size:34px;font-weight:900;letter-spacing:.5px}.muted{color:#627089}.chip{display:inline-flex;padding:7px 12px;border-radius:999px;background:#e2fff0;color:#006b3c;font-size:12px;font-weight:800}.login-card{padding:48px 54px}.login-card h1{font-size:34px;margin:0 0 28px}.input{width:100%;height:54px;border:1px solid #dbe4ee;border-radius:14px;padding:0 16px;font-size:15px;background:#fff;margin-bottom:14px}.btn{border:0;border-radius:13px;padding:13px 18px;font-weight:900;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:#2f55e7;color:#fff;box-shadow:0 14px 28px rgba(47,85,231,.2)}.btn-dark{background:#081225;color:#fff}.btn-soft{background:#eef3fb;color:#0b1730}.btn-green{background:#09a862;color:#fff}.error{background:#ffe1e1;color:#b30000;border-radius:12px;padding:12px;margin-bottom:15px}.app{display:flex;min-height:100vh}.side{width:245px;background:#071225;color:#fff;position:fixed;top:0;left:0;bottom:0;overflow:auto;padding:18px 12px}.side-brand{display:flex;align-items:center;gap:12px;padding:8px 8px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.side-brand img{width:92px;height:42px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.side-brand b{display:block;font-size:17px}.side-brand small{color:#98a8c0}.nav-title{font-size:11px;color:#7d8ba6;font-weight:900;letter-spacing:1.2px;margin:22px 8px 8px}.nav a{display:flex;align-items:center;gap:10px;color:#edf4ff;text-decoration:none;padding:12px 13px;border-radius:12px;margin:4px 0;font-weight:700;font-size:14px}.nav a:hover,.nav a.active{background:rgba(255,255,255,.11)}.main{margin-left:245px;flex:1}.top{height:68px;background:#fff;border-bottom:1px solid #e4ebf4;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.user-pill{background:#dffbe9;color:#006936;border-radius:999px;padding:9px 16px;font-weight:900}.content{padding:26px}.hero{background:linear-gradient(110deg,#071225 0%,#121827 56%,#cf5600 100%);border-radius:24px;color:#fff;padding:32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 20px 60px rgba(5,15,35,.16)}.hero img{max-width:250px;background:#fff;border-radius:22px;padding:20px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border-radius:18px;padding:22px;box-shadow:0 16px 40px rgba(11,24,50,.08);border:1px solid #eef2f7}.stat h3{margin:0;font-size:14px}.stat b{font-size:30px}.quick{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.quick a{background:#fff;border-radius:16px;padding:17px;text-decoration:none;color:#071225;font-weight:900;box-shadow:0 10px 30px rgba(11,24,50,.06)}.layout2{display:grid;grid-template-columns:1fr 390px;gap:18px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px;border-bottom:1px solid #e9eef5;text-align:left;font-size:14px}.table th{font-size:12px;color:#667085;text-transform:uppercase}.badge{display:inline-block;border-radius:999px;padding:6px 10px;background:#fff2c7;color:#a85a00;font-weight:900;font-size:12px}.badge.ok{background:#dcfce7;color:#087a3e}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.search{flex:1;min-width:240px}.service-row{background:#fff;border-radius:18px;padding:18px;margin-bottom:12px;display:grid;grid-template-columns:110px 1fr 160px 160px 120px;gap:16px;align-items:center;box-shadow:0 10px 30px rgba(11,24,50,.06)}.fisno{font-size:22px;font-weight:900}.mobile-menu{display:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.textarea{height:120px;padding-top:14px}.detail-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.tabs{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.tabs span{background:#eef3fb;border-radius:999px;padding:9px 14px;font-weight:800}.sync-mini{margin-top:20px;background:#fff;border-radius:14px;padding:12px;color:#071225;font-size:12px}@media(max-width:900px){.login-wrap{grid-template-columns:1fr}.brand-card{display:none}.side{transform:translateX(-100%);transition:.2s;z-index:20}.side.open{transform:translateX(0)}.main{margin-left:0}.mobile-menu{display:inline-flex}.top{padding:0 14px}.content{padding:14px}.grid,.quick,.layout2{grid-template-columns:1fr}.hero{display:block;padding:24px}.hero img{margin-top:20px;max-width:100%}.service-row{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.login-card{padding:28px}.user-pill{display:none}}

.success{background:#dcfce7;color:#087a3e;border-radius:12px;padding:12px;margin:0 0 15px;font-weight:800}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.small{height:84px}.mini{height:40px;margin-top:10px}.checkline{display:block;margin:10px 0 18px;font-weight:800}.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.control-box{background:#f8fafc;border:1px solid #e6edf5;border-radius:16px;padding:15px;margin-bottom:12px}.control-box b{display:block;margin-bottom:10px}.control-box label{display:block;margin:7px 0;color:#23324d}.sticky-actions{position:sticky;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-top:1px solid #e6edf5;padding:14px;margin:20px -22px -22px;border-radius:0 0 18px 18px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.file-line{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #edf2f7}.file-line a{font-weight:800;color:#2f55e7;text-decoration:none}.v3-form-card{padding:26px}.v3-service-card small{line-height:1.5}@media(max-width:900px){.control-grid,.detail-grid{grid-template-columns:1fr}.sticky-actions{position:static;margin:20px 0 0;border-radius:14px}.section-title{display:block}.service-row{gap:10px}}

/* V3.1 Cari arama / kayıt ekranları */
.customer-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}.customer-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:#f8fbff;border:1px solid #e3ebf6;border-radius:16px;padding:16px;margin-bottom:14px}.customer-card b{font-size:18px}.customer-card .meta{color:#64748b;font-size:13px;margin-top:5px}.customer-results{display:grid;gap:12px}.customer-result{background:#fff;border:1px solid #e8eef6;border-radius:16px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;box-shadow:0 8px 24px rgba(11,24,50,.05)}.customer-result:hover{border-color:#b9c8ff}.customer-empty{border:1px dashed #b7c5d8;background:#fbfdff;border-radius:18px;padding:26px;text-align:center}.page-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){.customer-card,.customer-result{grid-template-columns:1fr}.page-actions{justify-content:flex-start}.customer-actions .btn{width:100%}}

/* V3.1 Servisi Kapat / Faturalaştır */
.detail-tabs a{background:#eef3fb;border-radius:999px;padding:9px 14px;font-weight:900;color:#07152f;text-decoration:none;display:inline-flex;align-items:center}.detail-tabs a.active{background:#4d38e8;color:#fff;box-shadow:0 12px 24px rgba(77,56,232,.22)}.badge.danger{background:#ffe0e0;color:#d60000}.btn-danger{background:#e11d2e;color:#fff;box-shadow:0 14px 28px rgba(225,29,46,.22)}.invoice-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.invoice-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.invoice-head h2{margin:0 0 8px;font-size:28px}.invoice-ready{background:#ecffd9;border:1px solid #9ade75;color:#237000;font-weight:900;border-radius:999px;padding:10px 16px;white-space:nowrap}.invoice-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.invoice-stats div{background:#f8fbff;border:1px solid #dfe8f3;border-radius:16px;padding:18px}.invoice-stats span{display:block;color:#61708a;font-weight:900;margin-bottom:8px}.invoice-stats b{font-size:24px}.invoice-table td:nth-child(2),.invoice-table td:nth-child(3),.invoice-table td:nth-child(4){text-align:right}.invoice-table th:nth-child(2),.invoice-table th:nth-child(3),.invoice-table th:nth-child(4){text-align:right}.section-row td{background:#edf5ff!important;color:#1260b4;font-weight:900}.labor-section td{background:#fff2c7!important;color:#b35b00!important}.labor-line td{background:#fff9e6}.mini-badge{display:inline-flex;background:#e7f1fb;color:#31506e;border:1px solid #cbdced;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:800}.info-dot{border:0;background:#fff3d4;color:#b35b00;border-radius:999px;width:22px;height:22px;font-weight:900;cursor:pointer}.labor-detail{border:1px solid #f1cc78;background:#fffaf0;border-radius:14px;padding:14px}.invoice-side label{display:block;font-size:13px;font-weight:900;color:#607089;margin:12px 0 6px}.invoice-summary{background:#f8fbff;border:1px solid #dfe8f3;border-radius:14px;padding:14px;margin:14px 0}.invoice-summary p{display:flex;justify-content:space-between;margin:10px 0}.invoice-summary .grand{border-top:1px solid #e0e7f0;padding-top:12px;color:#e11d2e;font-size:18px}.warning-box{background:#fff4e5;border:1px solid #ffbd74;color:#9a4500;border-radius:14px;padding:14px;font-weight:900;margin:14px 0}.close-note{margin-top:18px;background:#fff1f1;color:#e11d2e;border:1px solid #ffd2d2;border-radius:14px;padding:15px;font-weight:800}.cube{display:inline-block;margin-right:8px}.service-row.closed{border-left:6px solid #e11d2e;background:#fff6f6}.service-row.closed .fisno,.service-row.closed b{color:#d60000}@media(max-width:1000px){.invoice-layout{grid-template-columns:1fr}.invoice-stats{grid-template-columns:1fr}.invoice-head{display:block}.invoice-ready{display:inline-flex;margin-top:10px}.invoice-table{font-size:12px}.invoice-table th,.invoice-table td{padding:10px 6px}}

/* ARFA V3.1 servis düzeltmeleri */
.status-text{font-weight:900;font-size:13px;background:#f8fafc;border:1px solid #e5edf6;border-radius:999px;padding:6px 10px;display:inline-flex;align-items:center;white-space:nowrap}
.service-row.closed{border-left:0!important;background:#fff!important}.service-row.closed .fisno,.service-row.closed b{color:inherit!important}
.service-operation-form{display:grid;grid-template-columns:1fr 300px;gap:14px;align-items:start}.service-operation-form .stock-select-box{grid-column:1/-1;background:#f8fafc;border:1px solid #e6edf5;border-radius:16px;padding:14px}.stock-search-row{display:grid;grid-template-columns:1fr auto;gap:10px}.stock-results{margin-top:8px}.stock-result{background:#fff;border:1px solid #e6edf5;border-radius:14px;padding:10px 12px;margin-bottom:8px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;cursor:pointer}.stock-result:hover{border-color:#2f55e7;box-shadow:0 8px 22px rgba(47,85,231,.10)}.stock-result small{display:block;color:#627089;margin-top:4px}.selected-stock{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:14px;padding:12px;margin-top:10px}.wide-textarea{height:150px!important}.operation-side{display:flex;flex-direction:column;gap:10px}.inline-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-input{padding:5px!important;height:44px!important}.mini{height:42px!important;margin-bottom:0!important}
@media(max-width:900px){.service-operation-form{grid-template-columns:1fr}.inline-two,.stock-search-row{grid-template-columns:1fr}.stock-result{grid-template-columns:1fr}}

/* ARFA V3.1 final: kapalı servis komple kırmızı + stok popup */
.service-list .service-row.closed,
.service-row.v3-service-card.closed{
    background:#fff1f2!important;
    border:1px solid #fecdd3!important;
    border-left:7px solid #dc2626!important;
}
.service-list .service-row.closed .fisno,
.service-row.v3-service-card.closed .fisno,
.service-list .service-row.closed b,
.service-row.v3-service-card.closed b{
    color:#b91c1c!important;
}
.service-row.closed .status-text{
    color:#dc2626!important;
    background:#ffe4e6!important;
    border-color:#fecdd3!important;
}
.stock-select-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.compact-stock-box{padding:14px!important}.compact-stock-box .selected-stock{margin-top:0;flex:1;min-width:260px}.v3-modal{position:fixed;inset:0;z-index:99999}.v3-modal-backdrop{position:absolute;inset:0;background:rgba(7,18,37,.55);backdrop-filter:blur(3px)}.v3-modal-card{position:relative;background:#fff;border-radius:22px;box-shadow:0 28px 80px rgba(7,18,37,.28);margin:6vh auto;padding:22px;width:min(1050px,94vw);max-height:88vh;overflow:auto}.v3-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.v3-modal-head h3{margin:0;font-size:22px}.v3-modal-close{border:0;background:#eef3fb;border-radius:12px;width:38px;height:38px;font-size:24px;font-weight:900;cursor:pointer}.stock-modal-search{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px}.stock-modal-results{border:1px solid #e6edf5;border-radius:16px;background:#f8fafc;min-height:140px;padding:10px}.stock-modal-table{display:grid;gap:8px}.stock-modal-row{display:grid;grid-template-columns:2fr 1fr 1fr 120px 90px;gap:10px;align-items:center;background:#fff;border:1px solid #e8eef6;border-radius:14px;padding:11px 12px}.stock-modal-row small{display:block;color:#64748b;margin-top:3px}.stock-modal-title{background:#eef3fb;color:#41516b;font-size:12px;text-transform:uppercase}.stock-modal-title b{color:#41516b!important}@media(max-width:900px){.stock-modal-search,.stock-modal-row{grid-template-columns:1fr}.v3-modal-card{margin:2vh auto;max-height:96vh}.stock-modal-title{display:none}.compact-stock-box .selected-stock{min-width:100%}}


/* ARFA V3.1 madde madde fix */
.status-filter-bar{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 14px 0;
    padding:12px;
    background:#fff;
    border:1px solid #e6edf5;
    border-radius:18px;
    box-shadow:0 8px 24px rgba(11,24,50,.04);
}
.status-filter{
    text-decoration:none;
    background:#f8fafc;
    border:1px solid #e6edf5;
    border-radius:999px;
    padding:8px 13px;
    font-weight:900;
    font-size:13px;
}
.status-filter.active{
    background:#071225;
    color:#fff!important;
}
.service-list .service-row{
    grid-template-columns:130px minmax(260px,1fr) 170px 150px 230px!important;
    min-height:92px;
    align-items:center;
}
.service-row .srv-cari b,
.service-row .srv-cihaz b{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
}
.service-row .srv-cari small{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
}
.srv-actions{
    display:flex;
    gap:8px;
    justify-content:flex-end;
    flex-wrap:wrap;
}
.srv-actions .btn{
    padding:12px 14px;
    white-space:nowrap;
}
.service-list .service-row.closed,
.service-row.v3-service-card.closed{
    background:#fff1f2!important;
    border:1px solid #fecdd3!important;
    border-left:7px solid #dc2626!important;
}
.service-list .service-row.closed .fisno,
.service-row.v3-service-card.closed .fisno,
.service-list .service-row.closed b,
.service-row.v3-service-card.closed b{
    color:#b91c1c!important;
}
.form-label{
    display:block;
    font-weight:900;
    margin:13px 0 7px;
    color:#41516b;
}
.modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:14px;
}
.durum-modal-card{
    width:min(520px,94vw)!important;
}
.error-inline{
    color:#dc2626;
    font-weight:900;
}
@media(max-width:1100px){
    .service-list .service-row{
        grid-template-columns:1fr!important;
    }
    .srv-actions{justify-content:flex-start}
}

.locked-pill{display:inline-flex;align-items:center;border-radius:999px;background:#fee2e2;color:#b91c1c;font-weight:900;padding:10px 12px;font-size:13px}
.btn-danger{background:#dc2626!important;color:#fff!important;border:0!important}
.btn-danger:hover{filter:brightness(.95)}

/* ARFA fatura sekme (tab-pane) kuralları */
.tab-pane{display:none;width:100%;box-sizing:border-box;float:none;clear:both;min-width:0}
.tab-pane.active{display:block;width:100%;box-sizing:border-box;min-width:0}

/* ARFA global table tools */
.arfa-table-tools{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin:0 0 10px;flex-wrap:wrap}.arfa-table-tools .btn{padding:8px 12px;font-size:13px}.table th{cursor:pointer;user-select:none;white-space:nowrap}.table th.arfa-sort-asc:after{content:' ▲';font-size:11px;color:#2563eb}.table th.arfa-sort-desc:after{content:' ▼';font-size:11px;color:#2563eb}.table td{vertical-align:middle}.print-design-link{background:#f3e8ff!important;color:#6b21a8!important;border-color:#e9d5ff!important}


/* ARFA Servis Merkezi mobil uyum ve durum resmi */
.service-list{display:flex;flex-direction:column;gap:12px}
.service-row.v3-service-card{align-items:center}
.service-row.v3-service-card .srv-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#durum_resimler{padding:10px;background:#fff}
.file-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef2f7;word-break:break-word}

@media(max-width:900px){
  .detail-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important}
  .detail-head>div:last-child,.detail-head>a,.detail-head .btn{width:100%;box-sizing:border-box;text-align:center;justify-content:center;margin:2px 0}
  .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .toolbar .input,.toolbar .btn{width:100%!important;box-sizing:border-box}
  .status-filter-bar{display:flex;overflow-x:auto;gap:8px;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  .status-filter{white-space:nowrap;flex:0 0 auto}
  .service-row.v3-service-card{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:14px!important;border-radius:16px!important}
  .srv-no,.srv-cari,.srv-cihaz,.srv-durum,.srv-actions{width:100%!important;min-width:0!important;text-align:left!important}
  .srv-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;justify-content:stretch!important}
  .srv-actions .btn,.srv-actions button,.srv-actions a,.locked-pill{width:100%!important;box-sizing:border-box;text-align:center;justify-content:center;margin:0!important}
  .detail-grid,.layout2,.invoice-layout{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .detail-tabs,.tabs{display:flex!important;overflow-x:auto;gap:8px;white-space:nowrap;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  .detail-tabs a,.tabs a{flex:0 0 auto;padding:10px 12px!important}
  .card{max-width:100%;overflow:hidden}
  .table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .control-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .service-operation-form{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .v3-modal-card.durum-modal-card{width:calc(100vw - 20px)!important;max-height:92vh;overflow:auto;left:10px!important;right:10px!important;top:4vh!important;transform:none!important;padding:16px!important;box-sizing:border-box}
  .modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .modal-actions .btn{width:100%!important}
  input,select,textarea,button{font-size:16px!important}
  .file-line{display:block}.file-line small{display:block;margin-top:4px}
}

@media(max-width:520px){
  .srv-actions{grid-template-columns:1fr!important}
  .fisno{font-size:18px!important}
  .detail-head h1{font-size:22px!important;line-height:1.2!important}
  .v3-modal-head h3{font-size:18px!important}
}
/* ── Sol Menü: Banka Yönetimi sekme stili ── */
.nav a{display:block;padding:9px 13px;border-radius:10px;text-decoration:none;font-weight:700;background:rgba(255,255,255,.07);color:#cbd5e1;font-size:13px;margin-bottom:4px;transition:background .15s,color .15s}
.nav a:hover{background:rgba(255,255,255,.14);color:#fff}
.nav a.active{background:#1d4ed8;color:#fff;box-shadow:0 4px 14px rgba(29,78,216,.35)}
.nav-title{font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.08em;padding:14px 6px 5px;margin-top:4px}

/* POS tam ekran modu */
body.pos-page{overflow:hidden!important;margin:0!important;padding:0!important}
body.pos-page aside.side,body.pos-page #side{display:none!important;width:0!important;min-width:0!important}
body.pos-page header.top{display:none!important;height:0!important}
body.pos-page div.app{display:block!important;overflow:visible!important}
body.pos-page main.main{margin-left:0!important;margin-top:0!important;padding:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;overflow:visible!important;min-height:0!important;flex:none!important}
body.pos-page #ps-app{position:fixed!important;left:0!important;top:0!important;width:calc(100vw - var(--cart-w,430px) - var(--splitter-w,8px))!important;height:100vh!important;z-index:9000!important}

/* ═══════════════════════════════════════════════════════════════
   ARFA ERP — MODÜLE ÖZGÜ MOBİL KURALLAR
   Giden/Gelen E-Fatura, İrsaliye, Çek/Senet, Tahsilat/Ödeme,
   Sipariş/Teklif, Cari, Stok, Fatura Liste
═══════════════════════════════════════════════════════════════ */

/* ── E-Dönüşüm: Gelen/Giden E-Fatura ortak ── */
.ed-tab-bar{display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;border-bottom:2px solid #e5e7eb}
.ed-tab-btn{flex:0 0 auto}
.ed-top-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ed-search-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.ed-search-form > div{flex:1;min-width:140px}
.ed-list-card{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ed-list-card .table{min-width:700px}

@media(max-width:900px){
  .ed-tab-bar{padding-bottom:4px}
  .ed-search-form{flex-direction:column!important}
  .ed-search-form > div{min-width:0!important;width:100%!important}
  .ed-search-form .input{width:100%!important;box-sizing:border-box!important}
  .ed-search-form .btn{width:100%!important}
  /* Giden fatura sekme + toplu işlem araç çubuğu */
  .gf-toolbar{flex-direction:column!important;align-items:stretch!important}
  .gf-toolbar > div{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  .gf-toolbar .btn{width:100%!important}
  /* Giden fatura tablo action butonları */
  .gf-action-wrap{display:flex;flex-wrap:wrap;gap:4px}
  .gf-action-wrap .btn{padding:6px 8px!important;font-size:12px!important}
  /* E-dönüşüm modal */
  .ed-modal-box{width:100vw!important;height:100vh!important;border-radius:0!important}
  .ed-modal-body{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important}
  .ed-modal-body.ed-alis-split{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important}
  .ed-preview{border-right:0!important;border-bottom:1px solid #e5e7eb!important;max-height:45vh!important}
  .ed-match{max-height:45vh!important}
  .ed-alis-left,.ed-alis-right{max-height:50vh!important}
  /* Gelen e-fatura kart butonları */
  .ed-action-card{flex-direction:column!important;align-items:stretch!important}
  .ed-action-card .btn{width:100%!important}
}

@media(max-width:600px){
  .ed-list-card .table{min-width:600px}
  .gf-toolbar > div{grid-template-columns:1fr!important}
  .gf-modal-box{border-radius:0!important;width:100vw!important;max-height:100vh!important}
  .gf-modal-sm{width:100vw!important}
}

/* ── İrsaliye Listesi ── */
.irsaliye-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.irsaliye-search{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:900px){
  .irsaliye-toolbar{flex-direction:column!important}
  .irsaliye-toolbar .btn{width:100%!important}
  .irsaliye-search{flex-direction:column!important}
  .irsaliye-search .input,.irsaliye-search select,.irsaliye-search .btn{width:100%!important;box-sizing:border-box!important}
}

/* ── Çek/Senet ── */
.cs-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cs-tabs a,.cs-tabs button{flex:0 0 auto}
.cs-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cs-list-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}

@media(max-width:900px){
  .cs-form-grid{grid-template-columns:1fr 1fr!important}
  .cs-list-toolbar{flex-direction:column!important}
  .cs-list-toolbar .btn{width:100%!important}
}
@media(max-width:600px){
  .cs-form-grid{grid-template-columns:1fr!important}
}

/* ── Tahsilat / Ödeme Formu ── */
.tahsilat-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}
.tahsilat-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.odeme-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}

@media(max-width:1100px){
  .tahsilat-layout,.odeme-layout{grid-template-columns:1fr!important}
}
@media(max-width:900px){
  .tahsilat-form-grid{grid-template-columns:1fr!important}
  .tahsilat-layout,.odeme-layout{grid-template-columns:1fr!important;gap:12px!important}
}

/* ── Sipariş / Teklif Listesi ── */
.siparis-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.teklif-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.siparis-search,.teklif-search{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:900px){
  .siparis-toolbar,.teklif-toolbar{flex-direction:column!important}
  .siparis-toolbar .btn,.teklif-toolbar .btn{width:100%!important}
  .siparis-search,.teklif-search{flex-direction:column!important}
  .siparis-search .input,.siparis-search select,.siparis-search .btn,
  .teklif-search .input,.teklif-search select,.teklif-search .btn{width:100%!important;box-sizing:border-box!important}
}

/* ── Fatura Listesi / Genel Liste Sayfaları ── */
.fat-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.fat-search{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}

@media(max-width:900px){
  .fat-toolbar{flex-direction:column!important}
  .fat-toolbar .btn{width:100%!important}
  .fat-search{flex-direction:column!important}
  .fat-search .input,.fat-search select,.fat-search .btn{width:100%!important;box-sizing:border-box!important}
  /* Fatura satırı action butonları */
  td[style*="white-space:nowrap"]{white-space:normal!important}
  td .btn{margin-bottom:3px!important}
}

/* ── Cari Tahsilat/Ödeme: Müşteri seçim kartı ── */
@media(max-width:900px){
  .cari-secim-card{flex-direction:column!important;gap:10px!important}
  .cari-secim-card .btn{width:100%!important}
  .cari-hareket-grid{grid-template-columns:1fr!important}
}

/* ── Genel: Card içi form satırları ── */
@media(max-width:900px){
  .card > form{flex-direction:column!important;display:flex!important}
  .card > form .input,.card > form select,.card > form .btn{width:100%!important;box-sizing:border-box!important}
  /* Flex card'lar (display:flex;gap:8px) */
  .card[style*="display:flex"]{flex-direction:column!important}
  .card[style*="display:flex"] .input,
  .card[style*="display:flex"] select,
  .card[style*="display:flex"] .btn{width:100%!important;box-sizing:border-box!important}
  /* Div flex toolbar'lar */
  div[style*="display:flex"][style*="gap:8px"]:not(.nav):not(.side-brand):not(.top):not(.v35-top-tools):not(.detail-tabs):not(.tabs):not(.status-filter-bar):not(.dash-kpi):not(.dash-panel-row):not(.dash-panel-head):not(.ai-panel-head):not(.ai-input-row):not(.ai-quick-btns){
    flex-wrap:wrap!important;
  }
}

/* ── Tablo: action sütunu butonları mobilde wrap ── */
@media(max-width:900px){
  .table td:last-child{white-space:normal!important}
  .table td:last-child .btn{margin:2px 2px!important;padding:6px 8px!important;font-size:12px!important}
}
@media(max-width:600px){
  .table td:last-child .btn{display:block!important;width:100%!important;margin:2px 0!important;text-align:center!important}
}

/* ── Çek/Senet tablo ── */
@media(max-width:900px){
  .cs-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cs-table-wrap .table{min-width:650px}
}

/* ── Sipariş/Teklif/İrsaliye tablo ── */
@media(max-width:900px){
  .fat-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .fat-table-wrap .table{min-width:700px}
}

/* ── E-dönüşüm: gelen e-fatura arama kartı ── */
@media(max-width:900px){
  .card[style*="display:flex"][style*="align-items:flex-end"]{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .card[style*="display:flex"][style*="align-items:flex-end"] > div{
    min-width:0!important;
    width:100%!important;
  }
  .card[style*="display:flex"][style*="align-items:flex-end"] .input{
    width:100%!important;
  }
  .card[style*="display:flex"][style*="align-items:flex-end"] .btn{
    width:100%!important;
  }
  /* Giden fatura sekme + buton satırı */
  div[style*="display:flex"][style*="align-items:center"][style*="margin-bottom:12px"]{
    flex-wrap:wrap!important;
    gap:6px!important;
  }
  div[style*="margin-left:auto"][style*="display:flex"]{
    margin-left:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  div[style*="margin-left:auto"][style*="display:flex"] .btn{
    width:100%!important;
  }
}

@media(max-width:480px){
  div[style*="margin-left:auto"][style*="display:flex"]{
    grid-template-columns:1fr!important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   ARFA ERP — KAPSAMLI MOBİL UYUMLULUK (Responsive)
   Breakpoints: 1100px | 900px | 768px | 600px | 480px | 360px
═══════════════════════════════════════════════════════════════ */

/* ── Sidebar Overlay (mobil menü açıkken arka plan karartma) ── */
.side-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(7,18,37,.55);
  z-index:9998;
  backdrop-filter:blur(2px);
}
body.menu-open .side-overlay{display:block}
body.menu-open aside.side{transform:translateX(0)!important;box-shadow:0 0 60px rgba(0,0,0,.45)}

/* ── Genel layout ── */
.app{display:flex;min-height:100vh}
aside.side{transition:transform .25s cubic-bezier(.4,0,.2,1)}
main.main{transition:margin-left .25s cubic-bezier(.4,0,.2,1)}

/* ── Top bar ── */
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;background:#fff;border-bottom:1px solid #e6edf5;position:sticky;top:0;z-index:100;flex-wrap:wrap}
.top .mobile-menu{display:none}
.user-pill{background:#eef3fb;border-radius:999px;padding:6px 14px;font-weight:800;font-size:13px;color:#07152f;white-space:nowrap}
.v35-badge{background:#e0e7ff;color:#3730a3;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800;margin-left:8px}

/* ── Content area ── */
.content{padding:22px;max-width:100%;box-sizing:border-box}

/* ── Card ── */
.card{background:#fff;border-radius:18px;padding:22px;box-shadow:0 4px 24px rgba(11,24,50,.07);border:1px solid #e6edf5;margin-bottom:18px;overflow:hidden}

/* ── Toolbar ── */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}

/* ── Table wrapper ── */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 12px;border-bottom:1px solid #edf2f7;font-size:13px}
.table th{background:#f8fafc;font-weight:800;color:#41516b}

/* ── Login sayfası mobil ── */
@media(max-width:768px){
  .login-body{padding:16px}
  .login-wrap{
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:16px!important;
  }
  .brand-card{display:none}
  .login-card{padding:28px 22px!important;border-radius:20px!important}
  .login-card h1{font-size:26px!important}
}

/* ── 1100px: Sidebar daralt ── */
@media(max-width:1100px){
  aside.side{width:220px}
  main.main{margin-left:220px}
}

/* ── 900px: Sidebar gizle, hamburger göster ── */
@media(max-width:900px){
  aside.side{
    position:fixed!important;
    top:0!important;left:0!important;bottom:0!important;
    width:280px!important;
    z-index:9999!important;
    transform:translateX(-100%)!important;
    overflow-y:auto!important;
  }
  main.main{
    margin-left:0!important;
    width:100%!important;
    max-width:100vw!important;
  }
  .top .mobile-menu{display:inline-flex!important}
  .content{padding:14px!important}

  /* Top bar düzenle */
  .top{padding:10px 14px!important;gap:8px!important}
  .top > div:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .v35-top-tools{gap:6px!important}
  .v35-module-btn .kbd{display:none}
  .v35-module-btn{padding:8px 10px!important;font-size:13px!important}

  /* Kart ve grid düzenlemeleri */
  .card{padding:14px!important;border-radius:14px!important}
  .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .toolbar .input,.toolbar .btn,.toolbar select{width:100%!important;box-sizing:border-box!important}

  /* Tablo scroll */
  .table{display:block!important;overflow-x:auto!important;white-space:nowrap!important;-webkit-overflow-scrolling:touch!important}

  /* Invoice layout */
  .invoice-layout{grid-template-columns:1fr!important}
  .invoice-head{flex-direction:column!important;gap:10px!important}
  .invoice-stats{grid-template-columns:1fr 1fr!important}

  /* Detail grid */
  .detail-grid{grid-template-columns:1fr!important}

  /* Modül hub */
  .module-hub-body{grid-template-columns:repeat(2,1fr)!important}
  .module-hub-head{flex-wrap:wrap!important;gap:10px!important}
  .module-hub-head input{width:100%!important;min-width:0!important}

  /* Dash panels */
  .dash-panels{grid-template-columns:1fr!important}
  .dash-kpi-grid{grid-template-columns:repeat(2,1fr)!important}
  .dash-shortcut-grid{grid-template-columns:repeat(2,1fr)!important}
  .dash-kasa-grid{flex-direction:column!important}
  .dash-kasa-kart{min-width:0!important}

  /* Fatura sekme */
  .detail-tabs,.tabs{display:flex!important;overflow-x:auto!important;gap:6px!important;white-space:nowrap!important;padding-bottom:8px!important;-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important}
  .detail-tabs a,.tabs a{flex:0 0 auto!important;padding:8px 12px!important;font-size:13px!important}

  /* Butonlar */
  .page-actions{justify-content:flex-start!important}
  .btn{font-size:14px!important}

  /* Form elemanları */
  input,select,textarea{font-size:16px!important}

  /* Section title */
  .section-title{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  .section-title .btn{width:100%!important;justify-content:center!important}
}

/* ── 600px: Daha küçük ekranlar ── */
@media(max-width:600px){
  .top > div:nth-child(2) b{font-size:13px!important}
  .v35-badge{display:none!important}
  .user-pill{font-size:12px!important;padding:5px 10px!important}
  .v35-module-btn{font-size:12px!important;padding:7px 9px!important}

  .content{padding:10px!important}
  .card{padding:12px!important;border-radius:12px!important}

  /* KPI grid tek kolon */
  .dash-kpi-grid{grid-template-columns:1fr!important}
  .dash-kpi{padding:16px!important}
  .dash-kpi-value{font-size:22px!important}

  /* Kısayol grid */
  .dash-shortcut-grid{grid-template-columns:repeat(2,1fr)!important}
  .dash-sc-btn{padding:12px 8px!important;min-height:70px!important}

  /* Modül hub tek kolon */
  .module-hub-body{grid-template-columns:1fr!important}
  .module-hub-head h2{font-size:16px!important}
  .module-close{padding:8px 12px!important;font-size:13px!important}

  /* Invoice stats tek kolon */
  .invoice-stats{grid-template-columns:1fr!important}

  /* Servis satırı */
  .service-list .service-row{grid-template-columns:1fr!important}
  .srv-actions{grid-template-columns:1fr 1fr!important}

  /* Stok modal */
  .stock-modal-row{grid-template-columns:1fr!important}
  .stock-modal-title{display:none!important}

  /* Müşteri kartı */
  .customer-card,.customer-result{grid-template-columns:1fr!important}

  /* Tablo araçları */
  .arfa-table-tools{justify-content:flex-start!important}

  /* Sticky actions */
  .sticky-actions{position:static!important;margin:16px 0 0!important;border-radius:12px!important}

  /* Modal */
  .v3-modal-card{margin:2vh auto!important;max-height:96vh!important;padding:14px!important;width:calc(100vw - 16px)!important}
  .modal-actions{grid-template-columns:1fr 1fr!important;display:grid!important}
  .modal-actions .btn{width:100%!important}

  /* Dash mini takvim */
  .dash-mini-takvim{overflow-x:auto}
}

/* ── 480px: Çok küçük ekranlar ── */
@media(max-width:480px){
  .top{padding:8px 10px!important}
  .v35-module-btn{display:none!important}
  .user-pill{max-width:80px;overflow:hidden;text-overflow:ellipsis}

  .dash-shortcut-grid{grid-template-columns:1fr 1fr!important}
  .dash-sc-btn{font-size:11px!important}

  .srv-actions{grid-template-columns:1fr!important}
  .locked-pill{width:100%!important;justify-content:center!important}

  .fisno{font-size:16px!important}
  .detail-head h1{font-size:20px!important;line-height:1.2!important}

  /* AI widget */
  #arfa-ai-panel{
    right:8px!important;
    left:8px!important;
    width:auto!important;
    bottom:90px!important;
  }
  #arfa-ai-btn{
    bottom:18px!important;
    right:18px!important;
    width:52px!important;
    height:52px!important;
  }

  /* Kısayol grid */
  .dash-shortcut-grid{grid-template-columns:1fr 1fr!important}

  /* Tablo */
  .table th,.table td{padding:7px 8px!important;font-size:12px!important}
}

/* ── 360px: En küçük ekranlar ── */
@media(max-width:360px){
  .login-card{padding:20px 14px!important}
  .login-card h1{font-size:22px!important}
  .content{padding:8px!important}
  .card{padding:10px!important}
  .dash-shortcut-grid{grid-template-columns:1fr!important}
  .module-hub-body{grid-template-columns:1fr!important}
  .v35-top-tools .btn-primary{display:none!important}
}

/* ── Yatay mod (landscape) küçük ekranlar ── */
@media(max-width:900px) and (orientation:landscape) and (max-height:500px){
  aside.side{padding-top:8px!important}
  .side-brand{padding-bottom:10px!important}
  .nav a{padding:6px 10px!important}
  .nav-title{padding:8px 6px 3px!important}
}

/* ── Sidebar kapatma butonu (mobilde) ── */
.side-close-btn{
  display:none;
  position:absolute;
  top:12px;right:12px;
  background:rgba(255,255,255,.12);
  border:0;
  color:#fff;
  border-radius:8px;
  width:32px;height:32px;
  font-size:18px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  font-weight:900;
  line-height:1;
}
@media(max-width:900px){
  .side-close-btn{display:flex!important}
  aside.side{position:relative}
}

/* ── Mobil tablo: yatay kaydırma göstergesi ── */
@media(max-width:900px){
  .table-scroll-hint{
    display:block;
    font-size:11px;
    color:#94a3b8;
    text-align:right;
    margin-bottom:4px;
    font-weight:600;
  }
}
.table-scroll-hint{display:none}

/* ── Fatura yeni / stok yeni form grid ── */
@media(max-width:900px){
  .form-two-col{grid-template-columns:1fr!important}
  .form-three-col{grid-template-columns:1fr!important}
  .inline-two{grid-template-columns:1fr!important}
  .inline-three{grid-template-columns:1fr!important}
}

/* ── Cari finans layout ── */
@media(max-width:900px){
  .cari-finans-grid{grid-template-columns:1fr!important}
  .cari-ozet-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){
  .cari-ozet-grid{grid-template-columns:1fr!important}
}

/* ── Banka / Kasa sekme ── */
@media(max-width:900px){
  .banka-tabs,.kasa-tabs{display:flex!important;overflow-x:auto!important;gap:6px!important;white-space:nowrap!important;padding-bottom:8px!important;-webkit-overflow-scrolling:touch!important}
  .banka-tabs a,.kasa-tabs a{flex:0 0 auto!important}
}

/* ── Çek/Senet layout ── */
@media(max-width:900px){
  .ceksenet-grid{grid-template-columns:1fr!important}
}

/* ── Personel layout ── */
@media(max-width:900px){
  .personel-grid{grid-template-columns:1fr!important}
}

/* ── E-dönüşüm layout ── */
@media(max-width:900px){
  .edonusum-grid{grid-template-columns:1fr!important}
  .edonusum-stats{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){
  .edonusum-stats{grid-template-columns:1fr!important}
}

/* ── Servis dashboard ── */
@media(max-width:900px){
  .servis-dash-grid{grid-template-columns:1fr!important}
  .servis-dash-stats{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){
  .servis-dash-stats{grid-template-columns:1fr!important}
}

/* ── Stok liste araçları ── */
@media(max-width:900px){
  .stok-filter-bar{flex-direction:column!important}
  .stok-filter-bar .input,.stok-filter-bar select,.stok-filter-bar .btn{width:100%!important}
}

/* ── Yazıcı / print gizle ── */
@media print{
  aside.side,.top,#arfa-ai-btn,#arfa-ai-panel,.side-overlay,.module-overlay{display:none!important}
  main.main{margin-left:0!important;padding:0!important}
  .content{padding:0!important}
}
