/* =====================================================
   VINANCE COIN - Complete Responsive Framework
   14 Device Categories: 240px to 2561px+
   ===================================================== */

/* ===== BASE RESET ===== */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
img, video, svg { max-width: 100%; height: auto; }

/* ===== FLUID CONTAINER ===== */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* ===== VISIBILITY HELPERS ===== */
@media (max-width: 767px) { .desktop-only { display: none !important; } }
@media (min-width: 768px) { .mobile-only { display: none !important; } }
@media (max-width: 1023px) { .lg-only { display: none !important; } }
@media (min-width: 1024px) { .sm-only { display: none !important; } }

/* ===== TEXT UTILITIES ===== */
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-break { word-break: break-word; overflow-wrap: break-word; }

/* ===== RESPONSIVE TABLES ===== */
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ===== TOUCH TARGETS ===== */
@media (max-width: 767px) {
    button, .btn, a.btn, select, input[type="submit"] { min-height: 44px; }
    input, select, textarea { font-size: 16px !important; }
}

/* ===== SAFE AREA ===== */
@supports (padding: env(safe-area-inset-bottom)) {
    .pwa-install-banner { padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
    .sidebar-footer { padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
    .landing-footer { padding-bottom: env(safe-area-inset-bottom); }
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,0.02); }
::-webkit-scrollbar-thumb { background: rgba(108,92,231,0.3); border-radius: 3px; }

/* ===== LANDSCAPE MOBILE ===== */
@media (max-height: 500px) and (orientation: landscape) {
    .landing-hero, .status-hero { min-height: auto; padding: 80px 0 40px; }
    .hero-content h1 { font-size: 28px; }
}

/* ===== PRINT ===== */
@media print {
    .sidebar, .topbar, .pwa-install-banner, .mobile-menu-btn, .menu-toggle,
    .ai-chat-fab, .ai-chat-widget, .landing-nav { display: none !important; }
    .main-content { margin-left: 0; }
}
