.varesh-ticket-page {
    --vt-blue: #0b72f6;
    --vt-blue-dark: #075bc5;
    --vt-navy: #061d42;
    --vt-text: #102342;
    --vt-muted: #71839d;
    --vt-border: #dce8f7;
    --vt-soft: #f4f8ff;
    color: var(--vt-text);
}

.varesh-ticket-page *,
.varesh-ticket-page *::before,
.varesh-ticket-page *::after { box-sizing: border-box; }

body:has(.varesh-ticket-page) .main-header { display: none !important; }
body:has(.varesh-ticket-page) .main-body { padding-top: 24px !important; }

.vt-hero {
    position: relative;
    min-height: 154px;
    margin-bottom: 18px;
    padding: 25px 28px;
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) auto;
    align-items: center;
    gap: 18px;
    overflow: hidden;
    border: 1px solid rgba(55,145,248,.28);
    border-radius: 20px;
    color: #fff;
    background: radial-gradient(circle at 18% 10%,rgba(53,151,255,.28),transparent 30%),linear-gradient(115deg,#061d42 0%,#08336e 58%,#0b72f6 125%);
    box-shadow: 0 18px 44px rgba(5,42,91,.16);
}

.vt-hero::after {
    content: '';
    position: absolute;
    inset: auto -42px -90px auto;
    width: 250px;
    height: 190px;
    border: 28px solid rgba(255,255,255,.055);
    border-radius: 50%;
    transform: rotate(-15deg);
}

.vt-hero-icon,
.vt-heading-icon,
.vt-department-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.vt-hero-icon {
    width: 58px;
    height: 58px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 16px;
    background: rgba(255,255,255,.1);
}

.vt-hero svg,
.vt-search-card svg,
.vt-departments svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vt-hero-icon svg { width: 29px; height: 29px; }
.vt-hero-copy > span { color: #8fc5ff; font-size: 11px; font-weight: 800; }
.vt-hero h1 { margin: 3px 0 5px; color: #fff; font-size: 25px; font-weight: 900; line-height: 1.45; }
.vt-hero p { margin: 0; color: #c6d9ee; font-size: 12px; line-height: 1.85; }

.vt-hero-features {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2,minmax(130px,1fr));
    gap: 9px;
}

.vt-hero-features > div {
    min-height: 78px;
    padding: 13px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px;
    background: rgba(2,24,55,.38);
    backdrop-filter: blur(8px);
}

.vt-hero-features strong { color: #fff; font-size: 12px; font-weight: 850; }
.vt-hero-features small { margin-top: 4px; color: #9fb9d5; font-size: 9px; line-height: 1.7; }

.vt-search-card,
.vt-departments {
    border: 1px solid var(--vt-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(29,78,140,.09);
}

.vt-search-card {
    margin-bottom: 18px;
    padding: 20px;
    display: grid;
    grid-template-columns: minmax(250px,.85fr) minmax(330px,1.25fr);
    align-items: center;
    gap: 24px;
}

.vt-section-heading { display: flex; align-items: center; gap: 12px; }
.vt-heading-icon { width: 43px; height: 43px; flex: 0 0 43px; border-radius: 13px; color: var(--vt-blue); background: #eaf3ff; }
.vt-heading-icon svg { width: 21px; height: 21px; }
.vt-section-heading h2,
.vt-title-row h2 { margin: 0; color: var(--vt-text); font-size: 17px; font-weight: 900; line-height: 1.6; }
.vt-section-heading p { margin: 2px 0 0; color: var(--vt-muted); font-size: 10px; line-height: 1.8; }

.vt-search-form {
    min-height: 50px;
    padding: 5px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #d7e4f3;
    border-radius: 13px;
    background: #f8fbff;
}

.vt-search-form .form-control {
    height: 40px !important;
    min-width: 0;
    padding: 8px 13px !important;
    border: 0 !important;
    color: #263e5b !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 11px !important;
}

.vt-search-button {
    min-width: 100px;
    height: 40px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(135deg,#1687ff,#0968df);
    box-shadow: 0 8px 18px rgba(11,114,246,.2);
    font-size: 11px;
    font-weight: 800;
}

.vt-search-button svg { width: 17px; height: 17px; }
.vt-departments { padding: 20px; }
.vt-title-row { margin-bottom: 15px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.vt-title-row > div > span { color: var(--vt-blue); font-size: 10px; font-weight: 800; }

.vt-all-tickets {
    min-height: 39px;
    padding: 8px 13px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #d7e4f3;
    border-radius: 10px;
    color: var(--vt-blue-dark) !important;
    background: #f8fbff;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none !important;
}

.vt-all-tickets svg { width: 16px; height: 16px; transform: scaleX(-1); }
.vt-department-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }

.vt-department-card {
    position: relative;
    min-height: 104px;
    padding: 15px;
    display: grid;
    grid-template-columns: 45px minmax(0,1fr) 27px;
    align-items: center;
    gap: 11px;
    overflow: hidden;
    border: 1px solid #deE9f6;
    border-radius: 15px;
    color: var(--vt-text) !important;
    background: linear-gradient(145deg,#fff,#f8fbff);
    text-decoration: none !important;
    transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.vt-department-card::after {
    content: '';
    position: absolute;
    width: 90px;
    height: 90px;
    left: -45px;
    bottom: -55px;
    border: 15px solid rgba(11,114,246,.035);
    border-radius: 50%;
}

.vt-department-card:hover {
    transform: translateY(-2px);
    border-color: #94c5ff;
    box-shadow: 0 12px 28px rgba(29,93,174,.12);
}

.vt-department-icon { width: 45px; height: 45px; border: 1px solid #d4e7ff; border-radius: 13px; color: var(--vt-blue); background: #eaf4ff; }
.vt-department-icon svg { width: 22px; height: 22px; }
.vt-department-copy { min-width: 0; display: flex; flex-direction: column; }
.vt-department-copy strong { overflow: hidden; color: var(--vt-text); font-size: 12px; font-weight: 850; line-height: 1.6; text-overflow: ellipsis; white-space: nowrap; }
.vt-department-copy small { margin-top: 3px; overflow: hidden; color: var(--vt-muted); font-size: 9px; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.vt-department-arrow { width: 27px; height: 27px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; color: #7c98ba; background: #f0f5fb; }
.vt-department-arrow svg { width: 14px; height: 14px; transform: scaleX(-1); }
.vt-department-card:hover .vt-department-arrow { color: #fff; background: var(--vt-blue); }
.vt-empty { grid-column: 1/-1; }

@media (max-width: 1199px) {
    .vt-department-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 991px) {
    .vt-hero { grid-template-columns: 50px minmax(0,1fr); padding: 21px; }
    .vt-hero-icon { width: 50px; height: 50px; }
    .vt-hero-features { grid-column: 1/-1; width: 100%; }
    .vt-search-card { grid-template-columns: 1fr; gap: 15px; }
}

@media (max-width: 575px) {
    body:has(.varesh-ticket-page) .main-body { padding-top: 14px !important; }
    .vt-hero { grid-template-columns: 43px minmax(0,1fr); gap: 12px; padding: 18px 15px; border-radius: 16px; }
    .vt-hero-icon { width: 43px; height: 43px; border-radius: 12px; }
    .vt-hero-icon svg { width: 23px; height: 23px; }
    .vt-hero h1 { font-size: 20px; }
    .vt-hero p { font-size: 11px; }
    .vt-hero-features { grid-template-columns: 1fr; }
    .vt-hero-features > div { min-height: 63px; }
    .vt-search-card,.vt-departments { padding: 15px; border-radius: 15px; }
    .vt-search-form { align-items: stretch; flex-direction: column; }
    .vt-search-button { width: 100%; }
    .vt-title-row { align-items: flex-start; flex-direction: column; }
    .vt-department-grid { grid-template-columns: 1fr; }
}
