:root{
    --qltx-primary:#af2400;
    --qltx-primary-2:#cc3a10;
    --qltx-accent:#2c3e55;
    --qltx-accent-2:#3f5672;
    --qltx-text:#243244;
    --qltx-muted:#6f7b88;
    --qltx-border:rgba(44,62,85,.10);
    --qltx-border-strong:rgba(175,36,0,.16);
    --qltx-bg:#f7f5f4;
    --qltx-white:#ffffff;
    --qltx-shadow:0 16px 40px rgba(44,62,85,.08);
    --qltx-shadow-soft:0 10px 24px rgba(44,62,85,.06);
    --qltx-shadow-hover:0 22px 44px rgba(175,36,0,.14);
    --qltx-radius-xl:24px;
    --qltx-radius-lg:18px;
    --qltx-radius-md:14px;
    --qltx-radius-sm:10px;
}

.qltx-wrap{
    width:100%;
    max-width:1600px;
    margin:0 auto;
    color:var(--qltx-text);
    font-weight: 600;
    padding: 50px 20px;
}

.qltx-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

.qltx-title{
    margin:0;
    font-size:34px;
    line-height:1.15;
    color:var(--qltx-accent);
    font-weight:600;
    letter-spacing:-.3px;
}

.qltx-subtitle{
    margin:10px 0 0;
    color:var(--qltx-muted);
    font-size:16px;
    line-height:1.6;
    font-weight:400;
}

.qltx-head-actions{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.qltx-search-box{
    position:relative;
    min-width:320px;
}

.qltx-search-box input{
    width:100% !important;
    height:54px !important;
    padding:0 48px 0 18px !important;
    border-radius:16px !important;
    border:1px solid var(--qltx-border) !important;
    background:rgba(255,255,255,.94) !important;
    outline:none !important;
    transition:all .24s ease;
    font-size:15px !important;
    color:var(--qltx-text) !important;
    font-weight:400 !important;
	margin: 0 !important;
    box-shadow:var(--qltx-shadow-soft) !important;
}

.qltx-search-box input::placeholder{
    color:#94a0ad !important;
    font-weight:400 !important;
}

.qltx-search-box input:focus{
    border-color:rgba(175,36,0,.28) !important;
    box-shadow:0 0 0 4px rgba(175,36,0,.08), 0 14px 28px rgba(44,62,85,.08) !important;
    transform:translateY(-1px) !important;
}

.qltx-search-icon{
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    color:var(--qltx-primary);
    pointer-events:none;
    font-size:15px;
}

.qltx-add-btn{
    min-height:54px;
    padding:0 22px;
    border:none;
    border-radius:16px;
    cursor:pointer;
    background:linear-gradient(135deg, var(--qltx-primary), var(--qltx-primary-2));
    color:#fff;
    font-weight:600;
    font-size:16px;
    letter-spacing:.2px;
    box-shadow:0 16px 32px rgba(175,36,0,.22);
    transition:all .24s ease;
}

.qltx-add-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 22px 38px rgba(175,36,0,.28);
}

.qltx-table-card{
    background:
        radial-gradient(circle at top right, rgba(175,36,0,.06), transparent 22%),
        linear-gradient(180deg, #ffffff, #fcfbfb);
    border:1px solid rgba(44,62,85,.08);
    border-radius:22px;
    overflow:hidden;
    box-shadow:var(--qltx-shadow);
}

.qltx-table{
    width:100%;
    border-collapse:collapse;
}

.qltx-table thead th{
    text-align:left;
    padding:18px 18px;
    font-size:15px;
    color:var(--qltx-accent);
    background:linear-gradient(180deg, rgba(44,62,85,.03), rgba(44,62,85,.015));
    border-bottom:1px solid rgba(44,62,85,.08);
    font-weight:600;
    text-transform:capitalize;
    letter-spacing:.4px;
}

.qltx-table tbody td{
    padding:18px 18px;
    border-bottom:1px solid rgba(44,62,85,.06);
    vertical-align:middle;
    font-size:15px;
    font-weight:400;
    color:var(--qltx-text);
}

.qltx-table tbody tr{
    transition:background .2s ease, transform .2s ease;
}

.qltx-table tbody tr:hover{
    background:linear-gradient(90deg, rgba(175,36,0,.025), rgba(44,62,85,.02));
}

.qltx-driver-name{
    display:flex;
    align-items:center;
    gap:10px;
}

.qltx-driver-icon{
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(44,62,85,.06);
    color:var(--qltx-accent);
    font-size:14px;
}

.qltx-driver-name strong{
    font-weight:500;
    color:var(--qltx-accent);
}

.qltx-password-mask{
    color:var(--qltx-muted);
    font-weight:400;
}

.qltx-vehicle-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(175,36,0,.08);
    color:var(--qltx-primary);
    border:1px solid rgba(175,36,0,.12);
    font-weight:500;
    font-size:14px;
}

.qltx-empty-badge{
    display:inline-flex;
    align-items:center;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(44,62,85,.05);
    color:var(--qltx-muted);
    font-weight:400;
    font-size:14px;
}

.qltx-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
}

.qltx-action-btn{
    width:40px;
    height:40px;
    border:none;
	line-height: unset;
    border-radius:12px;
    cursor:pointer;
    background:#fff;
	padding: 0;
    color:var(--qltx-accent);
    box-shadow:0 8px 18px rgba(44,62,85,.08);
    transition:all .22s ease;
    font-size:15px;
}

.qltx-action-btn:hover{
    transform:translateY(-2px);
    background:linear-gradient(135deg, rgba(175,36,0,.10), rgba(44,62,85,.05));
    color:var(--qltx-primary);
}

.qltx-empty-state{
    text-align:center;
    color:var(--qltx-muted);
    font-weight:400;
    font-size:15px;
}

.qltx-no-access{
    padding:18px;
    border-radius:16px;
    background:#fff5f2;
    color:#b23a1d;
    border:1px solid rgba(175,36,0,.18);
    font-weight:400;
}

/* MODAL */
.qltx-modal{
    position:fixed;
    inset:0;
    display:none;
    z-index:99999;
}

.qltx-modal.is-open{
    display:block;
}

.qltx-modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(24,33,45,.44);
    backdrop-filter:blur(4px);
}

.qltx-modal-dialog{
    position:relative;
    width:min(650px, calc(100vw - 24px));
    margin:54px auto;
    background:
        radial-gradient(circle at top right, rgba(175,36,0,.08), transparent 24%),
        radial-gradient(circle at bottom left, rgba(44,62,85,.07), transparent 28%),
        linear-gradient(180deg, #fff, #fcfbfb);
    border-radius:26px;
    border:1px solid rgba(44,62,85,.08);
    box-shadow:0 34px 84px rgba(44,62,85,.18);
    overflow:hidden;
    animation:qltxPop .24s ease;
}

@keyframes qltxPop{
    from{opacity:0; transform:translateY(14px) scale(.985);}
    to{opacity:1; transform:translateY(0) scale(1);}
}

.qltx-modal-head{
    padding:24px 28px 18px;
    border-bottom:1px solid rgba(44,62,85,.08);
}

.qltx-modal-head h3{
    margin:0;
    font-size:28px;
    color:var(--qltx-accent);
    font-weight:700;
    letter-spacing:-.2px;
}

.qltx-modal-close{
    position: absolute;
    right: 16px;
    top: 14px;
    width: 42px;
    padding: 0;
    margin: 0;
    height: unset;
    min-height: unset;
    height: 42px;
    line-height: unset;
    border: none;
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
    font-size: 24px;
    color: var(--qltx-muted);
    box-shadow: 0 10px 24px rgba(44, 62, 85, .10);
    transition: all .2s ease;
}

.qltx-modal-close:hover{
    color:#fff;
    background:linear-gradient(135deg, var(--qltx-primary), var(--qltx-primary-2));
    transform:rotate(90deg);
}

.qltx-form{
    padding:24px 28px 28px;
	margin: 0;
}

.qltx-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.qltx-form-group{
    margin-bottom:18px;
}

.qltx-form-group label{
    display:block;
    margin-bottom:8px;
    color:var(--qltx-accent);
    font-weight:600;
    font-size:15px;
}

.qltx-form-group input{
    width:100% !important;
    height:50px !important;
    padding:0 15px !important;
    border-radius:14px !important;
    border:1px solid var(--qltx-border) !important;
    outline:none !important;
    background:#fff !important;
    font-size:15px;
    color:var(--qltx-text);
    transition:all .22s ease;
    font-weight:400;
	margin: 0 !important;
}

.qltx-form-group input::placeholder{
    color:#98a2ae;
    font-weight:400;
}

.qltx-form-group input:focus{
    border-color:rgba(175,36,0,.26) !important;
    box-shadow:0 0 0 4px rgba(175,36,0,.08) !important;
    transform:translateY(-1px) !important;
}

.qltx-help{
    margin:8px 0 0;
    color:var(--qltx-muted);
    font-size:13px;
    line-height:1.6;
    font-weight:400;
}

.qltx-help strong{
    font-weight:500;
    color:var(--qltx-accent);
}

.qltx-form-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:14px;
    margin-top:12px;
}

.qltx-cancel-btn{
    border:none;
    background:transparent;
    cursor:pointer;
    color:var(--qltx-accent);
    font-size:16px;
    font-weight:400;
    padding:10px 6px;
    transition:all .2s ease;
}

.qltx-cancel-btn:hover{
    color:var(--qltx-primary);
}

.qltx-save-btn{
    min-height:48px;
    padding:0 18px;
    border:none;
    border-radius:14px;
    cursor:pointer;
    background:linear-gradient(135deg, var(--qltx-primary), var(--qltx-primary-2));
    color:#fff;
    font-weight: 600;
    font-size:16px;
    letter-spacing:.2px;
    box-shadow:0 14px 24px rgba(175,36,0,.20);
    transition:all .25s ease;
}

.qltx-save-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 32px rgba(175,36,0,.24);
}

.qltx-form-message{
    margin-top:16px;
    font-size:14px;
    font-weight:400;
    display:none;
    padding:12px 14px;
    border-radius:12px;
}

.qltx-form-message.is-error{
    display:block;
    color:#b42318;
    background:#fff4f2;
    border:1px solid rgba(180,35,24,.12);
}

.qltx-form-message.is-success{
    display:block;
    color:#166534;
    background:#f0fdf4;
    border:1px solid rgba(22,101,52,.12);
}

body.qltx-modal-open{
    overflow:hidden;
}
.qltx-form-group select{
    width:100%;
    height:52px;
    padding:0 44px 0 16px;
    border-radius:16px;
    border:1px solid rgba(175,36,0,.14);
    outline:none;
    background:
        linear-gradient(180deg, rgba(255,255,255,1), rgba(252,251,251,1));
    font-size:15px;
    color:var(--qltx-text);
    transition:all .22s ease;
    font-weight:400;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23af2400' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    box-shadow:0 8px 18px rgba(44,62,85,.04);
}

.qltx-form-group select:focus{
    border-color:rgba(175,36,0,.28);
    box-shadow:0 0 0 4px rgba(175,36,0,.08), 0 10px 20px rgba(44,62,85,.06);
    transform:translateY(-1px);
}
@media (max-width: 767px){
    .qltx-title{
        font-size:28px;
    }

    .qltx-subtitle{
        font-size:15px;
    }

    .qltx-search-box{
        min-width:100%;
    }

    .qltx-head-actions{
        width:100%;
    }

    .qltx-form-grid{
        grid-template-columns:1fr;
    }

    .qltx-modal-dialog{
        width:min(100vw - 12px, 100vw - 12px);
        margin:12px auto;
        border-radius:22px;
    }

    .qltx-form{
        padding:18px;
    }

    .qltx-modal-head{
        padding:20px 18px 16px;
    }

    .qltx-modal-head h3{
        font-size:24px;
    }

    .qltx-table{
        min-width:900px;
    }

    .qltx-table-card{
        overflow:auto;
    }
}