/* =====================================================
   MonkerSoft – Fő stíluslap
   ===================================================== */

:root {
    --sidebar-width: 240px;
    --sidebar-bg: #1e2433;
    --sidebar-hover: #2d3548;
    --sidebar-active: #3b82f6;
    --topbar-height: 52px;
    --primary: #3b82f6;
}

/* ---- Sidebar layout ---- */
.wrapper { min-height: 100vh; }

.sidebar {
    width: var(--sidebar-width);
    min-height: 100vh;
    background: var(--sidebar-bg);
    position: fixed;
    top: 0; left: 0;
    z-index: 1040;
    transition: transform .25s ease;
}

.sidebar-label {
    display: block;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: #6b7280;
    padding: .25rem .75rem;
    text-transform: uppercase;
}

.sidebar .nav-link {
    color: #cbd5e1;
    border-radius: .375rem;
    padding: .5rem .75rem;
    font-size: .875rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    transition: background .15s, color .15s;
}
.sidebar .nav-link:hover { background: var(--sidebar-hover); color: #fff; }
.sidebar .nav-link.active { background: var(--sidebar-active); color: #fff; font-weight: 600; }

.sidebar-brand { border-bottom: 1px solid #2d3548; }
.sidebar-footer { background: #161b27; }

.avatar-sm {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--sidebar-active);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .85rem;
    color: #fff;
    flex-shrink: 0;
}

/* ---- Main content ---- */
.main-content {
    margin-left: var(--sidebar-width);
    min-height: 100vh;
    background: #f8fafc;
}
.topbar { height: var(--topbar-height); }

/* ---- Auth layout ---- */
.auth-layout { background: #f0f4f8; }
.auth-card {
    width: 100%;
    max-width: 420px;
    border: none;
    border-radius: 1rem;
    box-shadow: 0 4px 24px rgba(0,0,0,.08);
}
.auth-logo {
    width: 56px; height: 56px;
    background: var(--sidebar-active);
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ---- Cards / stats ---- */
.stat-card {
    border: none;
    border-radius: .75rem;
    box-shadow: 0 1px 6px rgba(0,0,0,.06);
    transition: box-shadow .2s;
}
.stat-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.stat-icon {
    width: 48px; height: 48px;
    border-radius: .625rem;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem;
}

/* ---- Badges / státuszok ---- */
.badge-status-draft       { background: #e5e7eb; color: #374151; }
.badge-status-open        { background: #dbeafe; color: #1d4ed8; }
.badge-status-in_progress { background: #fef3c7; color: #92400e; }
.badge-status-done        { background: #d1fae5; color: #065f46; }
.badge-status-closed      { background: #f3f4f6; color: #6b7280; }
.badge-status-cancelled   { background: #fee2e2; color: #991b1b; }
.badge-status-new         { background: #ede9fe; color: #5b21b6; }
.badge-status-waiting     { background: #fce7f3; color: #9d174d; }
.badge-status-resolved    { background: #d1fae5; color: #065f46; }

.badge-priority-low    { background: #f0fdf4; color: #15803d; }
.badge-priority-normal { background: #eff6ff; color: #2563eb; }
.badge-priority-high   { background: #fff7ed; color: #c2410c; }
.badge-priority-urgent { background: #fef2f2; color: #dc2626; }

/* ---- Tables ---- */
.table-hover tbody tr:hover { background: #f0f9ff; }
.table th { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; }

/* ---- Responsive sidebar ---- */
@media (max-width: 991.98px) {
    .sidebar { transform: translateX(-100%); }
    .sidebar.show { transform: translateX(0); }
    .main-content { margin-left: 0; }
    .sidebar-overlay {
        display: none;
        position: fixed; inset: 0;
        background: rgba(0,0,0,.4);
        z-index: 1039;
    }
    .sidebar-overlay.show { display: block; }
}

/* ---- PDF preview ---- */
.signature-pad-wrapper {
    border: 2px dashed #cbd5e1;
    border-radius: .5rem;
    background: #fff;
}
#signaturePad { display: block; }

/* ---- Ticket comment ---- */
.comment-bubble {
    background: #f8fafc;
    border-left: 3px solid var(--primary);
    border-radius: .5rem;
    padding: .75rem 1rem;
}
.comment-bubble.internal {
    background: #fefce8;
    border-left-color: #eab308;
}

/* ---- Misc ---- */
.cursor-pointer { cursor: pointer; }
.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
