/* ============================================
   Responsive Styles
   ============================================ */

/* Tablets (768px - 991px) */
@media (max-width: 991px) {
    :root {
        --sidebar-width: 60px;
        --sidebar-hover-width: 200px;
    }
    
    .main-content {
        padding: 16px 20px;
    }
    
    body:has(.sidebar:hover) .main-content {
        margin-left: var(--sidebar-hover-width);
        width: calc(100% - var(--sidebar-hover-width));
    }
    
    .page-header {
        padding: 16px 20px;
    }
    
    .page-header h1 {
        font-size: 20px;
    }
    
    .welcome-section {
        padding: 24px;
    }
    
    .welcome-section h2 {
        font-size: 22px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    
    .stat-card {
        padding: 20px;
    }
    
    .stat-card .value {
        font-size: 28px;
    }
}

/* Mobile Landscape (576px - 767px) */
@media (max-width: 767px) {
    :root {
        --sidebar-width: 56px;
        --sidebar-hover-width: 180px;
    }
    
    .sidebar-logo {
        font-size: 14px;
    }
    
    .sidebar-nav a {
        padding: 12px 14px;
    }
    
    .sidebar-nav a svg {
        width: 20px;
        height: 20px;
    }
    
    .main-content {
        padding: 12px 16px;
        margin-left: var(--sidebar-width);
        width: calc(100% - var(--sidebar-width));
    }
    
    body:has(.sidebar:hover) .main-content {
        margin-left: var(--sidebar-hover-width);
        width: calc(100% - var(--sidebar-hover-width));
    }
    
    .page-header {
        flex-direction: column;
        gap: 15px;
        text-align: center;
        padding: 16px;
    }
    
    .user-area {
        width: 100%;
        justify-content: center;
    }
    
    .slide-bar {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 6px;
        gap: 6px;
    }
    
    .slide-bar-item {
        padding: 10px 16px;
        font-size: 13px;
    }
    
    .welcome-section {
        padding: 20px;
        text-align: center;
    }
    
    .welcome-section h2 {
        font-size: 20px;
    }
    
    .welcome-section p {
        font-size: 14px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .stat-card {
        padding: 16px;
    }
    
    .document-grid {
        grid-template-columns: 1fr;
    }
}

/* Mobile Portrait (max 575px) */
@media (max-width: 575px) {
    :root {
        --sidebar-width: 50px;
        --sidebar-hover-width: 160px;
    }
    
    .sidebar-logo {
        font-size: 12px;
        margin-bottom: 20px;
    }
    
    .sidebar-nav {
        gap: 5px;
        padding: 0 8px;
    }
    
    .sidebar-nav a {
        padding: 10px 12px;
        border-radius: var(--radius-sm);
    }
    
    .sidebar-nav a svg {
        width: 18px;
        height: 18px;
    }
    
    .main-content {
        margin-left: var(--sidebar-width);
        width: calc(100% - var(--sidebar-width));
        padding: 10px 12px;
    }
    
    body:has(.sidebar:hover) .main-content {
        margin-left: var(--sidebar-hover-width);
        width: calc(100% - var(--sidebar-hover-width));
    }
    
    .page-header h1 {
        font-size: 18px;
    }
    
    .signout-btn {
        padding: 6px 12px;
        font-size: 12px;
    }
    
    .user-avatar {
        width: 36px;
        height: 36px;
    }
    
    .user-avatar svg {
        width: 20px;
        height: 20px;
    }
    
    .slide-bar {
        margin-bottom: 15px;
    }
    
    .slide-bar-item {
        padding: 8px 12px;
        font-size: 12px;
    }
    
    .badge {
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        font-size: 10px;
    }
    
    .welcome-section {
        padding: 15px;
        border-radius: var(--radius-lg);
    }
    
    .welcome-section h2 {
        font-size: 18px;
    }
    
    .welcome-section p {
        font-size: 13px;
    }
    
    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    
    .stat-card {
        padding: 12px;
        border-radius: var(--radius-md);
    }
    
    .stat-card .label {
        font-size: 11px;
    }
    
    .stat-card .value {
        font-size: 20px;
    }
    
    .form-layout {
        grid-template-columns: 1fr;
    }
    
    .form-section {
        padding: 20px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .form-actions {
        flex-direction: column;
    }
    
    .test-credentials {
        position: static;
        margin-top: 20px;
        max-width: none;
    }
}

/* Very Small Screens (max 400px) */
@media (max-width: 400px) {
    .sidebar {
        display: none;
    }
    
    .main-content {
        margin-left: 0;
        width: 100%;
        padding: 8px;
    }
    
    body:has(.sidebar:hover) .main-content {
        margin-left: 0;
        width: 100%;
    }
    
    .page-header {
        padding: 12px;
    }
    
    .page-header h1 {
        font-size: 16px;
    }
    
    .welcome-section h2 {
        font-size: 16px;
    }
    
    .stat-card .value {
        font-size: 18px;
    }
}

/* Print Styles */
@media print {
    .sidebar,
    .top-bar,
    .bottom-bar,
    .slide-bar,
    .document-actions,
    .btn-action,
    .export-buttons,
    .back-btn {
        display: none !important;
    }
    
    .main-content {
        margin-left: 0 !important;
        width: 100% !important;
        padding: 0 !important;
    }
    
    .page-header,
    .welcome-section,
    .stat-card,
    .document-card {
        box-shadow: none !important;
        border: 1px solid #ddd;
    }
}

/* Mobile hamburger button */
.hamburger-btn {
    display: none;
    position: fixed;
    top: 14px;
    left: 14px;
    z-index: 1100;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 8px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
@media (max-width: 768px) {
    .hamburger-btn { display: flex; }
    .sidebar { transform: translateX(-100%); transition: transform 0.3s; z-index: 1050; }
    .sidebar.open { transform: translateX(0); }
    .main-content { margin-left: 0 !important; }
    .page-header { padding-left: 60px !important; }
}
