:root{
    --bg:#f4f7fb;
    --panel:#ffffff;
    --text:#1f2937;
    --muted:#6b7280;
    --primary:#2563eb;
    --primary-soft:#e8f0ff;
    --border:#e5e7eb;
    --sidebar:#0f172a;
    --sidebar-soft:#1e293b;
    --radius:16px;
    --shadow:0 10px 30px rgba(15,23,42,.08);
}

*{ box-sizing:border-box; margin: 0px; padding: 0px; text-decoration: none;}

body{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}


.wd_100{ width: 100%;}
.fl{ float: left; }
.fr{ float: right; }
.psr{ position: relative; }
.df{ display: flex; }
.fw_w{ flex-wrap: wrap; -ms-flex-wrap: wrap; }
.jc_sb{ justify-content: space-between; }
.jc_c{ justify-content: center; }
.jc_fe{ justify-content: flex-end; }
.jc_fs{ justify-content: flex-start; }
.gap_5{gap: 5px;}
.gap_10{gap: 10px;}
.gap_15{gap: 15px;}
.gap_20{gap: 20px;}
.mt_10{margin-top: 10px;}
.mt_15{margin-top: 15px;}
.mt_20{margin-top: 20px;}

.erp{
    display:flex;
    min-height:100vh;
}

/* SIDEBAR */
.sidebar{
    width:260px;
    background:var(--sidebar);
    color:#fff;
    padding:20px 14px;
    position:fixed;
    left:0;
    top:0;
    bottom:0;
}

.logo{
    font-size:22px;
    font-weight:700;
    padding:0 12px 22px;
}

.menu-title{
    color:#94a3b8;
    font-size:12px;
    margin:18px 12px 8px;
}

.menu a{
    display:flex;
    align-items:center;
    gap:10px;
    color:#cbd5e1;
    text-decoration:none;
    padding:12px 14px;
    border-radius:12px;
    margin-bottom:4px;
    font-size:15px;
}

.menu a:hover,
.menu a.active{
    background:var(--sidebar-soft);
    color:#fff;
}

/* MAIN */
.main{
    margin-left:260px;
    width:calc(100% - 260px);
}

/* HEADER */
.header{
    height:72px;
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 28px;
    position:sticky;
    top:0;
    z-index:10;
}

.header-left h1{
    font-size:22px;
    margin:0;
}

.header-left span{
    color:var(--muted);
    font-size:13px;
}

.header-right{
    display:flex;
    align-items:center;
    gap:12px;
}

.search{
    width:260px;
    height:42px;
    border:1px solid var(--border);
    border-radius:999px;
    padding:0 16px;
    outline:none;
}

.user{
    background:var(--primary-soft);
    color:var(--primary);
    padding:10px 14px;
    border-radius:999px;
    font-weight:600;
}

/* CONTENT */
.content{
    padding:28px;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap:wrap;
    gap: 20px;
}

.stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:22px;
}

.stat-card{
    background:var(--panel);
    border-radius:var(--radius);
    padding:20px;
    box-shadow:var(--shadow);
    border:1px solid var(--border);
}

.stat-card span{
    color:var(--muted);
    font-size:14px;
}

.stat-card strong{
    display:block;
    margin-top:10px;
    font-size:26px;
}

.panel{
    background:var(--panel);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    border:1px solid var(--border);
    padding:20px;
    width: 100%;
    float: left;
}

.panel-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

.panel-head h2{
    margin:0;
    font-size:18px;
}

/* FORM */
.form-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.form_grid_50{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.form-group label{
    display:block;
    font-size:13px;
    color:var(--muted);
    margin-bottom:7px;
}

.input,
.select,
.textarea{
    width:100%;
    border:1px solid var(--border);
    border-radius:12px;
    padding:12px 13px;
    font-size:14px;
    outline:none;
    background:#fff;
}

.input:focus,
.select:focus,
.textarea:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 4px var(--primary-soft);
}

.textarea{
    min-height:90px;
    resize:vertical;
}

.btn{
    line-height: 1.4;
    border:0;
    border-radius:12px;
    padding:12px 18px;
    cursor:pointer;
    font-weight:600;
    letter-spacing: 0.5px;
    transition: all 200ms;
    text-decoration: none;
    font-size: 15px;
}

.btn:hover{ transform: scale(1.05);}
.btn:active{ transform: scale(1);}

.btn-primary{
    background:var(--primary);
    color:#fff;
}

.btn-light{
    background:#f1f5f9;
    color:#334155;
}

.btn-yesil{
    background:#8bc34a;
    color:#000;
}

/* TABLE */
.table-wrap{
    overflow:auto;
}

table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
}

th{
    text-align:left;
    color:var(--muted);
    font-size:13px;
    font-weight:600;
    padding:14px;
    border-bottom:1px solid var(--border);
}

tr.sortable-chosen{
    background-color: rgb(227, 243, 255);
    border: 2px dashed rgb(33, 150, 243);
}

td{
    padding:15px 14px;
    border-bottom:1px solid var(--border);
    font-size:14px;
}

.table-wrap .buton{
    width: 30px;
    height: 30px;
    float: left;
    position: relative;
    border-radius: 5px;
    flex-grow: 50;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.table-wrap .buton:before{
    content: '';
    width: 0px;
    height: 0px;
    position: absolute;
    z-index: 1;
    transition: all 200ms;
    border-radius: 6px;
}

.table-wrap .buton:after{
    content: '';
    width: 16px;
    height: 16px;
    position: absolute;
    z-index: 2;
}

.table-wrap .buton:hover::before{ width: 100%; height: 100%; }

.table-wrap .buton.green:before{ background-color: #caeba4; }
.table-wrap .buton.green:after{ background-color: #4CAF50; }

.table-wrap .buton.red:before{ background-color: #ffd7d4; }
.table-wrap .buton.red:after{ background-color: #f44336; }

.table-wrap .buton.blue:before{ background-color: #c0e3ff; }
.table-wrap .buton.blue:after{ background-color: #2196f3; }


.duzenle_icon:after{ mask: url(../../_images/edit.svg) no-repeat center / contain; -webkit-mask: url(../../_images/edit.svg) no-repeat center / contain;}
.cop_icon:after{ mask: url(../../_images/cop.svg) no-repeat center / contain; -webkit-mask: url(../../_images/cop.svg) no-repeat center / contain;}
.incele_icon:after{ mask: url(../../_images/search.svg) no-repeat center / contain; -webkit-mask: url(../../_images/search.svg) no-repeat center / contain;}

.badge{
    display:inline-block;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
}

.badge.green{
    background:#dcfce7;
    color:#166534;
}

.badge.orange{
    background:#ffedd5;
    color:#9a3412;
}

.badge.blue{
    background:#dbeafe;
    color:#1d4ed8;
}

.badge.red{
    background:#ffe1df;
    color:#F44336;
}

/* RESPONSIVE */
.mobile-menu{ display:none;}







.sun-editor{width: 100% !important;}
/* SunEditor ikonlarını küçültür */
.sun-editor .se-btn {
    font-size: 12px !important; /* ikon boyutu */
    width: 26px !important;     /* buton genişliği */
    height: 26px !important;    /* buton yüksekliği */
    padding: 2px !important;
}

/* toolbar yüksekliği de azaltılsın */
.sun-editor .se-toolbar {
    min-height: 30px !important;
    padding: 2px 4px !important;
}

/* buton ikonlarının ortalanması */
.sun-editor .se-btn svg,
.sun-editor .se-btn i {
    transform: scale(0.8); /* ikonları küçültür */
}

.sun-editor .se-toolbar-shadow{ min-height: 0px !important;}









.switch {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}

.switch input {
    display: none;
}

.slider {
    width: 40px;
    height: 24px;
    position: relative;
    float: left;
    inset: 0;
    cursor: pointer;
    background: #ccc;
    border-radius: 30px;
    transition: 0.25s;
}

.slider::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    top: 3px;
    background: white;
    border-radius: 50%;
    transition: 0.25s;
}

.switch input:checked + .slider { background: #22c55e;}
.switch input:checked + .slider::before { transform: translateX(16px); }

.switch p{
    float: left;
    position: relative;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}









.popup_mesaj{
    line-height: 1.4;
    letter-spacing: 0.5px;
    position:fixed;
    top:30px;
    right:30px;
    z-index:999999;
    min-width:250px;
    max-width:400px;
    padding:15px 20px;
    border-radius:10px;
    color:#fff;
    font-size:15px;
    font-weight:500;
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
    animation:popupAnim 0.25s ease;
}

.popup_basari{
    background:#1fa855;
}

.popup_hata{
    background:#d93025;
}












    .custom-check {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        cursor: pointer;
        user-select: none;
        font-size: 14px;
        color: #333;
        padding: 3px; 
        padding-right: 7px;
        float: left;
        position: relative;
    }
        
    .custom-check .zemin {
        width:100%;
        height:100%;
        position:absolute;
        top:0px;
        left:0px;
        z-index:1;
        background-color: #eee;
        border-radius: 8px;
    }
        
    .custom-check p{
        margin:0px;
        padding:0px;
        z-index:2;
        line-height: 1.4;
        letter-spacing: 0.5px;
    }

    .custom-check input { display: none; }

    .check-box {
        width: 18px;
        height: 18px;
        border: 2px solid #ddd;
        border-radius: 7px;
        background: #fff;
        position: relative;
        transition: .2s;
        z-index:2;
    }

    .custom-check input:checked ~ .check-box {
        background: #005904;
        border-color: #003902;
    }


    .custom-check input:checked ~ .check-box::after {
        content: "";
        position: absolute;
        left: 4px;
        top: 1px;
        width: 4px;
        height: 8px;
        border: solid #fff;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }

    .custom-check:hover .check-box { border-color: #078b0e; }
    .custom-check input:checked ~ .zemin{ background-color: rgb(134, 235, 124)!important; }



    .custom-check.red input:checked ~ .check-box {
        background: #590000;
        border-color: #390000;
    }
    .custom-check.red:hover .check-box { border-color: #8b0707; }
    .custom-check.red input:checked ~ .zemin{ background-color: rgb(235, 124, 124)!important; }
    .custom-check.red input:checked ~ p{ color: #fff; }

    




    .input_col{
        width:100%;
        float:left;
        position:relative;
        margin:5px 0px;
        margin-bottom: 10px;
    }

    .input_col label {
        display: block;
        font-size: 13px;
        font-weight: 600;
        margin-bottom: 6px;
        color: #333;
    }

    .input_col input, .input_col select, .input_col textarea {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #e1e1e1;
        background: #f8f8f8;
        border-radius: 13px;
        padding: 12px;
        outline: none;
        font-size: 14px;
    }

    .input_col input[type="color"]{
        width: 100%;
        height: 40px;
        box-sizing: border-box;
        border: 1px solid #e1e1e1;
        background: #f8f8f8;
        border-radius: 13px;
        padding: 0px;
        outline: none;
        font-size: 14px;
    }







    .popup-bg {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.45);
        backdrop-filter: blur(6px);
        display: none;
        align-items: center;
        justify-content: center;
        padding: 18px;
        z-index: 9999;
    }

    .popup-bg.active { display: flex; }

    .popup_body {
        width: 100%;
        max-width: 560px;
        background: #fff;
        border-radius: 24px;
        padding: 22px;
        box-shadow: 0 25px 80px rgba(0,0,0,.25);
    }

    .popup-head {
        display: flex;
        justify-content: space-between;
        gap: 15px;
        margin-bottom: 18px;
    }

    .popup-head h2 {
        margin: 0;
        font-size: 22px;
    }

    .popup-head p {
        margin: 5px 0 0;
        font-size: 13px;
        color: #777;
    }

    .popup-close {
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 50%;
        background: #f2f2f2;
        font-size: 24px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 200ms;
    }
    
    .popup-close:hover{
        font-size: 28px;
    }

    
    .popup_body .text{
        width: 100%;
        line-height: 1.4;
        float: left;
        position: relative;
        letter-spacing: 0.5px;
        font-size: 14px;
        text-align: center;
        color: #111;
    }

    .foto-alani {
        width: 210px;
        float: left;
        margin: 10px 10px 10px 0px;
    }

    .foto-box{
        width:210px;
        height:165px;
        border:2px dashed #ddd;
        border-radius:22px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        cursor:pointer;
        color:#666;
        transition:.2s;
    }

    .foto-box.disabled{
        opacity:.5;
        cursor:not-allowed;
        pointer-events:none;
    }

    .fotoSayac{
        margin-top:8px;
        font-size:12px;
        color:#777;
    }

    .foto-box.disabled .fotoSayac{
        color:#ef4444;
        font-weight:600;
    }

    .foto-box:hover, .foto-box.dragover{
        border-color:#22c55e;
        background:#f0fdf4;
    }

    .foto-box span{ font-size:30px; }
    .foto-box p{ text-align: center; letter-spacing: 0.5px; font-size: 15px; margin-top: 10px; }

    .foto-liste{
        width: 100%;
        display:flex;
        flex-wrap:wrap;
        gap:12px;
        margin-top:15px;
    }

    .foto-item{
        width:90px;
        height:90px;
        border-radius:14px;
        overflow:hidden;
        position:relative;
        border:1px solid #ddd;
        background:#f5f5f5;
    }

    .foto-item img{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .foto-sil{
        position:absolute;
        top:5px;
        right:5px;
        width:22px;
        height:22px;
        border-radius:50%;
        border:0;
        background:rgba(0,0,0,.65);
        color:#fff;
        cursor:pointer;
    }

    .foto-item {
        cursor: grab;
        touch-action: none;
    }

    .foto-chosen { opacity: .85; }
    .foto-ghost { opacity: .35; }
    .foto-drag {opacity: .95; }


    
    .foto-alani.foto_tek{
        width: 190px;
        float: left;
        margin: 0px;
        position: relative;
    }

    .foto-alani.foto_tek .foto-box {
        width: 190px;
        height: 165px;
    }

    .foto-alani.foto_tek .foto-liste {
        margin: 0px;
        top: 0px;
        left: 0px;
        position: absolute;
    }

    .foto-alani.foto_tek .foto-liste .foto-item {
        width: 190px;
        height: 165px;
    }





    .popup_body input:focus,.popup_body textarea:focus {
        border-color: #111;
        background: #fff;
    }

    .input-grid {
        width:100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .input-grid input { margin-bottom: 0; }

    .popup_body textarea {
        min-height: 80px;
        resize: vertical;
    }

    .popup-actions {
        width: 100%;
        float: left;
        position: relative;
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        margin-top: 18px;
    }

    .iptal-btn,.kaydet-btn {
        border: 0;
        padding: 12px 18px;
        border-radius: 14px;
        cursor: pointer;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .iptal-btn {
        background: #f1f1f1;
        color: #333;
    }

    .kaydet-btn {
        background: #111;
        color: #fff;
    }

    .kaydet-btn p{margin: 0px; padding: 0px;}

    .kaydet-btn.busy {
        background: #575757;
        pointer-events: none;
    }
    
    .kaydet-btn.busy p{ opacity: 0.1;}

    .kaydet-btn.busy:before {
        content: '';
        width: 30px;
        height: 30px;
        position: absolute;
        background: #fff;
        mask: url(../../_images/loading_1.svg) no-repeat center / contain; 
        -webkit-mask: url(../../_images/loading_1.svg) no-repeat center / contain;
        animation: loadingDon 2s linear infinite;
    }


    @keyframes loadingDon {
        from {
            transform: rotate(0deg);
        }
        to {
            transform: rotate(360deg);
        }
    }






@media(max-width:1000px){
    .sidebar{
        display:none;
    }

    .main{
        margin-left:0;
        width:100%;
    }

    .mobile-menu{
        display:block;
    }

    .stats{
        grid-template-columns:repeat(2,1fr);
    }

    .form-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .search{
        display:none;
    }
}

@media(max-width:600px){
    .header{
        padding:0 16px;
    }

    .content{
        padding:16px;
    }

    .stats,
    .form-grid{
        grid-template-columns:1fr;
    }

    
    .form_grid_50{
        grid-template-columns:1fr;
    }

    .panel-head{
        align-items:flex-start;
        gap:12px;
        flex-direction:column;
    }
}