/* Nexus Control — Responsive */

/* ── Tablet (≤ 900px) ───────────────────────────────────────────────── */
@media (max-width: 900px) {
    #nxctl-portal .nc-sidebar {
        position: absolute;
        left: 0; top: 0; bottom: 0;
        z-index: 200;
        transform: translateX(-100%);
        transition: transform var(--nc-dur-md) var(--nc-ease);
    }
    #nxctl-portal .nc-sidebar.open { transform: translateX(0); }
    #nxctl-portal.nc-sidebar-collapsed .nc-sidebar { width: var(--nc-sidebar-w); transform: translateX(-100%); }
    #nxctl-portal .nc-sidebar-overlay { display: block; opacity: 0; pointer-events: none; transition: opacity var(--nc-dur-md); }
    #nxctl-portal .nc-sidebar-overlay.visible { opacity: 1; pointer-events: all; }
    #nxctl-portal .nc-hamburger { display: flex; }
    #nxctl-portal .nc-content { width: 100%; }
    #nxctl-portal .nc-stats-grid { grid-template-columns: repeat(2,1fr); }
    #nxctl-portal .nc-form-row { grid-template-columns: 1fr; }
    #nxctl-portal .nc-form-row--3 { grid-template-columns: 1fr; }
    #nxctl-portal .nc-modal { max-width: 100%; margin: 0; border-radius: 0; max-height: 100vh; }
    #nxctl-portal .nc-modal-backdrop { padding: 0; align-items: flex-end; }
    #nxctl-portal .nc-plugin-grid { grid-template-columns: 1fr; }
    #nxctl-portal .nc-template-grid { grid-template-columns: repeat(2,1fr); }
    #nxctl-portal .nc-main { padding: var(--nc-space-4); }
}

/* ── Mobile (≤ 480px) ───────────────────────────────────────────────── */
@media (max-width: 480px) {
    #nxctl-portal .nc-topbar { padding: 0 var(--nc-space-3); gap: var(--nc-space-2); }
    #nxctl-portal .nc-user-name { display: none; }
    #nxctl-portal .nc-stats-grid { grid-template-columns: 1fr 1fr; gap: var(--nc-space-3); }
    #nxctl-portal .nc-stat-card { padding: var(--nc-space-4); }
    #nxctl-portal .nc-stat-card__value { font-size: var(--nc-fs-xl); }
    #nxctl-portal .nc-list-card { flex-direction: column; }
    #nxctl-portal .nc-list-card__right { width: 100%; justify-content: flex-end; }
    #nxctl-portal .nc-section-header { flex-direction: column; align-items: flex-start; }
    #nxctl-portal .nc-toolbar { flex-direction: column; align-items: stretch; }
    #nxctl-portal .nc-search { min-width: unset; }
    #nxctl-portal .nc-inbox-drawer { width: 100%; }
    #nxctl-portal .nc-main { padding: var(--nc-space-3); }
    #nxctl-portal .nc-cal { width: 100%; }
    #nxctl-portal .nc-template-grid { grid-template-columns: repeat(2,1fr); }
    #nxctl-portal .nc-expiry-builder { flex-wrap: wrap; }
    #nxctl-portal .nc-modal__body { padding: var(--nc-space-4); }
    #nxctl-portal .nc-modal__footer { padding: var(--nc-space-3) var(--nc-space-4); }
}

/* ── Large desktop (≥ 1400px) ────────────────────────────────────────── */
@media (min-width: 1400px) {
    :root { --nc-sidebar-w: 260px; }
    #nxctl-portal .nc-stats-grid { grid-template-columns: repeat(4,1fr); }
    #nxctl-portal .nc-main { padding: var(--nc-space-8); }
}

/* ══════════════════════════════════════════════════════════════════════════
   iOS SAFARI — Prevent input zoom (font-size < 16px triggers viewport lock)
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
    #nxctl-portal input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    #nxctl-portal textarea,
    #nxctl-portal select {
        font-size: 16px !important;
        -webkit-text-size-adjust: 100%;
    }
}
