/* design_system/responsive.css — Global responsive breakpoints */


/* Tablet e mobile */
@media (max-width: 1024px) {
    .main-inner--wide { max-width: 100%; padding: 0 0.5rem; }
    .stat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Tablet portrait e mobile */
@media (max-width: 768px) {
    .site-header .container {
        flex-wrap: wrap;
        gap: 0.75rem;
    }
    .navbar-nav {
        order: 3;
        flex-basis: 100%;
        justify-content: flex-start;
    }
    .form-grid { grid-template-columns: 1fr; }
    .main-content { padding: calc(var(--app-shell-header-height) + 1rem) 1rem 3rem; }
    .main-inner, .main-inner--wide { padding: 0; }
    .card, .typo-card { padding: 1.25rem 1.25rem; }
    .page-title,
    .view-title,
    .main-content h1.text-xl,
    .main-content h2.text-xl,
    .main-content h3.text-xl { font-size: var(--text-title); }
    .comp-row { gap: 0.5rem; }
    .tabs-bar { flex-wrap: nowrap; }
    .tab-btn { white-space: nowrap; }
    .tab-btn--multiline { white-space: normal; }
}

/* Smartphone */
@media (max-width: 480px) {
    :root { --app-shell-header-height: 3.75rem; }
    .site-header .container { padding: 0 1rem; }
    .navbar-brand { font-size: var(--text-body); }
    .user-badge {
        padding: 0.25rem 0.35rem 0.25rem 0.65rem;
        gap: 0.4rem;
    }
    .user-badge > span:first-child { display: none; }
    .user-area::before { display: none; }
    .main-content { padding: calc(var(--app-shell-header-height) + 0.75rem) 1rem 2.5rem; }
    .card, .typo-card { padding: 1rem 1.25rem; }
    .page-header { margin-bottom: 1.25rem; }
    .page-subtitle { font-size: var(--text-md); }
    .stat-grid { grid-template-columns: 1fr; }
    .stat-value { font-size: var(--text-title); }
    .btn-cta, .btn-ghost {
        min-height: var(--control-height);
        padding: var(--control-padding-y) 1rem;
        font-size: var(--control-font-size);
    }
    .form-actions { flex-direction: column; margin-top: 1.25rem; }
    .form-actions .btn-cta, .form-actions .btn-ghost { width: 100%; justify-content: center; }
    table { min-width: 320px; }
    .typo-card pre { padding: 0.75rem 1rem; font-size: 0.85rem; overflow-x: auto; }
    .file-input-display { flex-direction: column; text-align: center; padding: 0.75rem; }
    .switch-row { flex-direction: column; align-items: flex-start; gap: 0.5rem; }

    .index-toolbar { flex-direction: column; align-items: stretch; }
    .index-toolbar__search { width: 100%; }
    .index-toolbar__actions { width: 100%; }
    .index-toolbar__actions a,
    .index-toolbar__actions button { width: 100%; justify-content: center; }

    .index-search { flex-direction: column; align-items: stretch; }
    .index-search > * { width: 100%; max-width: none !important; }
    .index-search .shrink-0 { width: 100%; }
}
