/* ===== Responsive Design ===== */

/* Tablet (≤ 1024px) */
@media (max-width: 1024px) {
    .content {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
    }

    .app {
        padding: 1.5rem;
    }
}

/* Tablet (≤ 768px) */
@media (max-width: 768px) {
    .app {
        padding: 1rem;
    }

    /* Navbar */
    .navbar {
        padding: 0 1rem;
        height: 56px;
        border-radius: 12px;
        min-width: auto !important;
    }

    .brand {
        font-size: 18px;
    }

    .nav-right {
        gap: 4px;
    }

    .nav-link {
        padding: 8px 10px;
        font-size: 13px;
    }

    .nav-link i {
        font-size: 16px;
    }

    .theme-toggle {
        padding: 8px 10px;
        font-size: 16px;
    }

    /* Content Grid */
    .content {
        grid-template-columns: 1fr !important;
        gap: 15px;
        min-width: auto !important;
    }

    /* Cards */
    .card {
        padding: 1.25rem;
    }

    .card-header h3 {
        font-size: 1rem;
    }

    /* Extension Page */
    .content[style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    /* Tables */
    .table {
        font-size: 0.85rem;
    }

    /* Forms */
    input,
    textarea,
    select {
        font-size: 0.95rem;
    }

    /* Buttons */
    .btn {
        padding: 0.75rem 1.25rem;
        font-size: 0.9rem;
    }
}

/* Mobile (≤ 480px) */
@media (max-width: 480px) {
    .app {
        padding: 0.5rem;
    }

    /* Navbar */
    .navbar {
        padding: 0 0.75rem;
        height: 52px;
        border-radius: 10px;
        flex-wrap: nowrap;
    }

    .brand {
        font-size: 16px;
    }

    .nav-right {
        gap: 2px;
        flex-wrap: nowrap;
    }

    /* Hide text in nav links on small mobile */
    .nav-link {
        padding: 6px 8px;
        font-size: 0;
    }

    .nav-link i {
        font-size: 18px;
        margin: 0;
    }

    .theme-toggle {
        padding: 6px 8px;
    }

    /* Content */
    .content {
        gap: 12px;
    }

    /* Cards */
    .card {
        padding: 1rem;
        border-radius: 12px;
    }

    .card-header {
        margin-bottom: 0.75rem;
    }

    .card-header h3 {
        font-size: 0.95rem;
    }

    /* Buttons */
    .btn {
        padding: 0.625rem 1rem;
        font-size: 0.85rem;
    }

    /* Forms */
    input,
    textarea,
    select {
        font-size: 14px;
        /* Reduced for "small" feel, note: might zoom on iOS but user requested small */
        padding: 0.5rem;
        /* Reduced padding */
        width: 100%;
        max-width: 100%;
    }

    label {
        font-size: 0.9rem;
    }

    /* Tables */
    .table {
        font-size: 0.8rem;
    }

    .table th,
    .table td {
        padding: 0.5rem 0.25rem;
    }

    /* Monitor specific */
    .monitor-wrapper {
        padding: 1rem !important;
    }

    .monitor-header {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start !important;
        margin-bottom: 1.5rem;
    }

    .monitor-title h1 {
        font-size: 1.5rem;
    }

    #searchInput {
        width: 100% !important;
    }

    .account-row {
        flex-direction: column;
        min-height: auto;
        margin-bottom: 1rem;
    }

    .account-info {
        width: 100%;
        min-width: 100%;
        padding: 1rem;
        border-right: none;
        border-bottom: 1px solid var(--border);
        flex-direction: row;
        justify-content: flex-start;
        gap: 1rem;
        text-align: left;
    }

    .account-avatar {
        margin-bottom: 0;
        width: 40px;
        height: 40px;
    }

    .account-details {
        display: flex;
        flex-direction: column;
    }

    .email-list-container {
        padding: 1rem;
        gap: 1rem;
        overflow-x: auto;
        justify-content: flex-start;
    }

    .email-card {
        min-width: 260px;
        max-width: 260px;
        height: auto;
        min-height: 130px;
        flex-shrink: 0;
    }

    /* Login Page */
    .login-wrapper {
        padding: 1.5rem 1rem !important;
    }

    .login-container {
        max-width: 100% !important;
    }

    .login-card {
        padding: 1.5rem 1rem !important;
    }

    .brand-logo {
        font-size: 1.75rem !important;
    }

    /* Extension & Notes */
    .content>.card {
        grid-column: 1 !important;
    }

    /* Notes textarea */
    #notesArea {
        font-size: 14px;
    }

    /* Code blocks */
    code {
        font-size: 0.8rem !important;
        padding: 2px 4px !important;
    }
}

/* Very Small Mobile (≤ 360px) */
@media (max-width: 360px) {
    .navbar {
        height: 48px;
        padding: 0 0.5rem;
    }

    .brand {
        font-size: 14px;
    }

    .nav-link {
        padding: 5px 6px;
    }

    .nav-link i {
        font-size: 16px;
    }

    .app {
        padding: 0.25rem;
    }

    .card {
        padding: 0.75rem;
    }

    .email-card {
        min-width: 240px;
        max-width: 240px;
    }
}