/* LOGIN */

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
background:#f4f6f9;
font-family:Arial,sans-serif;
font-size:16px;
overflow-x:hidden;
}

.login-body{
margin:0;
padding:0;
background:url('login-bg.jpg');
background-size:cover;
background-position:center;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
}

.login-overlay{
width:100%;
min-height:100vh;
background:rgba(0,0,0,.45);
display:flex;
align-items:center;
justify-content:center;
padding:20px;
}

.login-box{
width:100%;
max-width:450px;
backdrop-filter:blur(15px);
background:rgba(255,255,255,.12);
border:1px solid rgba(255,255,255,.2);
border-radius:25px;
padding:40px;
color:white;
box-shadow:0 10px 30px rgba(0,0,0,.3);
}

.login-logo{text-align:center;margin-bottom:30px;}
.login-logo h1{font-size:42px;margin:0;}
.login-logo p{margin-top:10px;font-size:18px;opacity:.9;}

.login-box input{
width:100%;
padding:15px;
margin-bottom:15px;
border:none;
border-radius:50px;
background:rgba(255,255,255,.15);
color:white;
font-size:16px;
}

.login-box input::placeholder{color:#eee;}

.login-box button{
width:100%;
padding:15px;
border:none;
border-radius:50px;
background:white;
color:#111;
font-size:18px;
font-weight:bold;
cursor:pointer;
transition:.3s;
}

.login-box button:hover{transform:translateY(-2px);}
.error-box{background:#dc3545;padding:12px;border-radius:10px;margin-bottom:15px;text-align:center;}
.login-footer{text-align:center;margin-top:20px;font-size:14px;opacity:.8;}

/* HEADER */

.main-navbar{
background:#0f172a;
padding:14px 0;
box-shadow:0 5px 20px rgba(0,0,0,.15);
position:sticky;
top:0;
z-index:999;
}

.nav-content{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
position:relative;
}

.brand-logo{
color:white;
font-size:22px;
font-weight:700;
text-decoration:none;
display:flex;
align-items:center;
gap:8px;
line-height:1.2;
min-width:0;
}

.brand-logo:hover{color:white;}
.brand-icon{flex:0 0 auto;}

.nav-links{
display:flex;
gap:10px;
align-items:center;
justify-content:flex-end;
flex-wrap:wrap;
}

.nav-links a{
color:white;
text-decoration:none;
padding:9px 14px;
border-radius:20px;
transition:.3s;
white-space:nowrap;
font-size:15px;
}

.nav-links a:hover{background:rgba(255,255,255,.15);color:white;}
.call-btn{background:#16a34a;}
.logout-btn{background:#dc2626;}

.mobile-menu-btn{
display:none;
width:44px;
height:44px;
border:1px solid rgba(255,255,255,.22);
border-radius:14px;
background:rgba(255,255,255,.08);
padding:10px;
cursor:pointer;
}

.mobile-menu-btn span{
display:block;
height:2px;
background:white;
border-radius:5px;
margin:5px 0;
transition:.25s;
}

.nav-open .mobile-menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-open .mobile-menu-btn span:nth-child(2){opacity:0;}
.nav-open .mobile-menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* DASHBOARD */

.dashboard-header{
background:linear-gradient(135deg,#0f172a,#1e3a8a);
color:white;
padding:35px;
border-radius:25px;
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
gap:20px;
}

.dashboard-header h1{font-size:32px;margin-bottom:8px;}
.dashboard-header p{margin-bottom:0;}

.dash-card{
display:block;
background:white;
padding:30px;
border-radius:25px;
text-decoration:none;
color:#111;
box-shadow:0 10px 25px #0001;
transition:.3s;
height:100%;
}

.dash-card:hover{transform:translateY(-7px);color:#111;}
.dash-card h3{font-size:40px;}
.dash-card h2{font-size:50px;font-weight:bold;}
.dash-card p{color:#777;margin-bottom:0;}

.card{
border:0;
border-radius:25px;
box-shadow:0 10px 25px #0001;
overflow:hidden;
}

.header-buttons{display:flex;gap:10px;flex-wrap:wrap;}

.main-footer{
margin-top:40px;
text-align:center;
padding:20px;
color:#777;
font-size:14px;
}

.customer-detail-card{border-radius:25px;}
.detail-row{padding:15px 0;border-bottom:1px solid #eee;}
.detail-row strong{display:block;margin-bottom:8px;font-size:18px;}
.detail-row span{margin-left:10px;font-weight:bold;}

.service-photo{
max-width:100%;
max-height:300px;
border-radius:15px;
margin-top:10px;
object-fit:cover;
}

.phone-btn{color:#16a34a;text-decoration:none;font-weight:600;}

.table-responsive{border-radius:18px;}
.table{margin-bottom:0;}
.table td,.table th{vertical-align:middle;}

.form-control,.btn{border-radius:14px;}
.btn{font-weight:600;}

/* MOBILE RESPONSIVE */

@media(max-width:992px){
    .main-navbar{padding:10px 0;}
    .nav-content{align-items:center;}
    .brand-logo{font-size:18px;max-width:calc(100% - 60px);}
    .brand-logo span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .mobile-menu-btn{display:block;flex:0 0 auto;}

    .nav-links{
        display:none;
        position:fixed;
        top:64px;
        left:12px;
        right:12px;
        max-height:calc(100vh - 82px);
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;
        background:#111827;
        border:1px solid rgba(255,255,255,.08);
        border-radius:20px;
        padding:12px;
        box-shadow:0 18px 40px rgba(0,0,0,.25);
        flex-direction:column;
        align-items:stretch;
        gap:8px;
    }

    .nav-open .nav-links{display:flex;}

    .nav-links a{
        display:block;
        width:100%;
        text-align:left;
        padding:13px 15px;
        border-radius:14px;
        background:rgba(255,255,255,.06);
        font-size:16px;
    }

    .call-btn{background:#16a34a!important;}
    .logout-btn{background:#dc2626!important;}
}

@media(max-width:768px){
    body{font-size:15px;}
    .container{padding-left:14px;padding-right:14px;}

    .login-box{padding:25px;border-radius:22px;}
    .login-logo h1{font-size:32px;}

    .dashboard-header{
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
        padding:22px;
        border-radius:22px;
        margin-bottom:20px;
    }

    .dashboard-header h1{font-size:24px;}

    .header-buttons{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
    }

    .header-buttons a,
    .header-buttons button{width:100%;text-align:center;}

    .dash-card{padding:22px;border-radius:22px;}
    .dash-card h3{font-size:32px;}
    .dash-card h2{font-size:38px;}

    .card{border-radius:22px;}
    .card.p-4{padding:18px!important;}

    h1{font-size:26px;}
    h2{font-size:23px;}
    h3{font-size:20px;}

    .btn{
        width:auto;
        min-height:42px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        margin-bottom:6px;
    }

    form[style*="display:inline"]{display:block!important;margin-top:8px;}
    form[style*="display:inline"] .btn{width:100%;}

    .table-responsive{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }

    .table{min-width:680px;}

    #customerSearch,#serviceSearch{height:48px;}

    .detail-row span{display:block;margin-left:0;margin-top:8px;}
    .service-photo{max-height:230px;width:100%;}
}

@media(max-width:480px){
    .brand-logo{font-size:16px;}
    .mobile-menu-btn{width:42px;height:42px;}
    .container.py-4{padding-top:16px!important;}

    .dashboard-header{padding:18px;}
    .dashboard-header h1{font-size:22px;}

    .card.p-4{padding:15px!important;}

    .btn,
    .form-control,
    select.form-control,
    textarea.form-control{
        font-size:15px;
    }

    .btn{width:100%;}
    .card .btn + .btn{margin-top:4px;}

    .login-overlay{padding:14px;}
}


/* MOBILE TABLE / CARD FIXES */
.page-table-card{width:100%;}
.page-table-card th,
.page-table-card td{white-space:normal;word-break:break-word;}
.action-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.action-buttons .btn{margin-bottom:0;}
.nowrap{white-space:nowrap!important;}

@media(max-width:768px){
    /* Tabloyu sağa taşırmak yerine satırları kart gibi göster */
    .mobile-card-table{min-width:0!important;border-collapse:separate;border-spacing:0 12px;width:100%;}
    .mobile-card-table thead,
    .mobile-card-table tbody,
    .mobile-card-table th,
    .mobile-card-table td,
    .mobile-card-table tr{display:block;width:100%;}
    .mobile-card-table thead{display:none;}
    .mobile-card-table tr{
        background:#fff;
        border:1px solid #e5e7eb;
        border-radius:18px;
        padding:12px;
        margin-bottom:12px;
        box-shadow:0 8px 18px rgba(15,23,42,.06);
    }
    .mobile-card-table td{
        border:0!important;
        padding:8px 0!important;
        display:flex;
        justify-content:space-between;
        gap:12px;
        text-align:right;
        align-items:flex-start;
    }
    .mobile-card-table td::before{
        content:attr(data-label);
        font-weight:700;
        color:#475569;
        text-align:left;
        min-width:105px;
        flex:0 0 42%;
    }
    .mobile-card-table td[data-label="İşlem"],
    .mobile-card-table td[data-label="WhatsApp"],
    .mobile-card-table td[data-label="Servis"]{
        display:block;
        text-align:left;
    }
    .mobile-card-table td[data-label="İşlem"]::before,
    .mobile-card-table td[data-label="WhatsApp"]::before,
    .mobile-card-table td[data-label="Servis"]::before{
        display:block;
        margin-bottom:8px;
    }
    .action-buttons{display:grid;grid-template-columns:1fr;gap:8px;justify-content:stretch;}
    .action-buttons .btn,
    .mobile-card-table .btn{width:100%;}
    .mobile-card-table form{width:100%;}
    .mobile-card-table form .btn{width:100%;}
    .table-responsive{overflow:visible!important;}
    .dashboard-chart-card{min-height:260px;}
    canvas{max-width:100%!important;}
}


/* MOBIL MENÜ KAYDIRMA DÜZELTMESİ */
@media(max-width:992px){
    .nav-open::after{
        content:"";
        position:fixed;
        inset:0;
        background:rgba(15,23,42,.35);
        z-index:998;
        pointer-events:none;
    }
    .main-navbar{z-index:1000;}
    .nav-links{z-index:1001;}
    .nav-links::-webkit-scrollbar{width:6px;}
    .nav-links::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:10px;}
}

.service-notify-buttons{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    min-width:170px;
}
.service-notify-buttons .btn{width:100%;margin-bottom:0;}
@media(min-width:769px){
    .service-notify-buttons{grid-template-columns:1fr;}
}

/* MEMNUNIYET / USTA PERFORMANS */
.bg-orange{background:#fb923c!important;color:#111!important;}
.low-rating-card{border:2px solid #dc2626!important;background:#fff5f5!important;}
.badge{white-space:normal;}
@media(max-width:768px){
    .alert .btn{margin-top:10px;margin-left:0!important;width:100%;}
}

/* TAKVIM + PREMIUM DASHBOARD */
.premium-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;}
.premium-card{display:block;background:#fff;border-radius:22px;padding:22px;text-decoration:none;color:#0f172a;box-shadow:0 10px 25px rgba(15,23,42,.08);border:1px solid #eef2f7;transition:.25s;min-height:135px;}
.premium-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,42,.12);color:#0f172a;}
.premium-card .pc-icon{font-size:30px;margin-bottom:10px;}
.premium-card .pc-value{font-size:30px;font-weight:800;line-height:1.1;word-break:break-word;}
.premium-card .pc-label{color:#64748b;margin-top:8px;font-weight:600;}
.premium-card.danger{border-color:#fecaca;background:#fff7f7;}
.premium-card.warning{border-color:#fde68a;background:#fffdf3;}
.premium-card.success{border-color:#bbf7d0;background:#f7fff9;}
.premium-card.info{border-color:#bae6fd;background:#f7fbff;}
.dashboard-quick-actions{display:flex;gap:10px;flex-wrap:wrap;}
.dashboard-quick-actions .btn{width:auto;}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;}
.calendar-nav{display:flex;gap:8px;align-items:center;}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;}
.calendar-weekday{font-weight:800;text-align:center;color:#475569;padding:8px;}
.calendar-day{background:#fff;border:1px solid #e5e7eb;border-radius:18px;min-height:140px;padding:12px;box-shadow:0 8px 18px rgba(15,23,42,.05);display:flex;flex-direction:column;gap:8px;}
.calendar-day.empty{background:transparent;border:0;box-shadow:none;}
.calendar-day.today{border:2px solid #1d4ed8;}
.calendar-date{font-weight:800;color:#0f172a;display:flex;justify-content:space-between;align-items:center;}
.calendar-event{display:block;text-decoration:none;border-radius:12px;padding:8px;background:#eff6ff;color:#0f172a;font-size:13px;border-left:5px solid #2563eb;line-height:1.25;}
.calendar-event:hover{background:#dbeafe;color:#0f172a;}
.calendar-event.status-tamamlandi{background:#ecfdf5;border-left-color:#16a34a;}
.calendar-event.status-iptal{background:#fef2f2;border-left-color:#dc2626;}
.calendar-event.status-bekliyor{background:#fffbeb;border-left-color:#f59e0b;}
.calendar-event.status-serviste{background:#eef2ff;border-left-color:#4f46e5;}
.calendar-event .time{font-weight:800;display:block;}
.calendar-event .customer{font-weight:700;}
.calendar-event .worker{color:#64748b;font-size:12px;}
.calendar-day-more{font-size:12px;color:#64748b;font-weight:700;}
@media(max-width:1200px){.premium-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:768px){
    .premium-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
    .premium-card{padding:16px;border-radius:18px;min-height:120px;}
    .premium-card .pc-value{font-size:22px;}
    .dashboard-quick-actions .btn{width:100%;}
    .calendar-toolbar{flex-direction:column;align-items:stretch;}
    .calendar-nav{display:grid;grid-template-columns:1fr 1fr;}
    .calendar-nav .btn{width:100%;}
    .calendar-grid{display:block;}
    .calendar-weekday{display:none;}
    .calendar-day{min-height:auto;margin-bottom:12px;}
    .calendar-day.empty{display:none;}
}
@media(max-width:420px){.premium-grid{grid-template-columns:1fr;}}


.brand-logo-with-image{display:flex;align-items:center;gap:10px;}
.brand-logo-img{height:38px;max-width:130px;object-fit:contain;background:transparent;border-radius:0;padding:0;}
@media(max-width:768px){.brand-logo-img{height:34px;max-width:110px;}}

/* v1.4 düzeltme: Logo arkasına beyaz kutu ekleme */
.brand-logo img,
.brand-logo-img,
.logo,
.receipt-logo,
.fis-logo{
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
}











/* v2.2 Kalemli Teklif ek stilleri - mevcut style.css sonuna eklenebilir veya dosya olarak yüklenebilir */
.offer-item-row{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:14px;
    margin-bottom:12px;
}
.offer-item-row label{font-weight:700;font-size:13px;color:#475569;}
@media(max-width:768px){
    .offer-item-row{padding:12px;}
    .offer-item-row .btn{width:100%;}
}
/* Logo transparan zorlaması */
.brand-logo-img,
.brand-logo img,
.offer-logo,
.receipt-logo,
.fis-logo{
    background:transparent!important;
    background-color:transparent!important;
    box-shadow:none!important;
    border:0!important;
    padding:0!important;
    border-radius:0!important;
}

/* v3.1 API'siz Akıllı Asistan */
.ai-results{display:grid;gap:16px}.ai-result-card{border:1px solid #dbeafe!important}.ai-best-match{border:2px solid #2563eb!important;background:#f8fbff}.ai-box{height:100%;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px;line-height:1.55}.ai-box strong{display:block;color:#0f172a;margin-bottom:8px}.ai-note{background:#fff}.stock-usage-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:10px}
