pmtool / src /index.css
devarshia5's picture
Upload 487 files
d97b8f9 verified
Raw
History Blame Contribute Delete
10.2 kB
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Import responsive design utilities */
@import './styles/responsive.css';
@layer base {
:root {
--background: 0 0% 100%;
--foreground: 240 10% 3.9%;
--card: 0 0% 100%;
--card-foreground: 240 10% 3.9%;
--popover: 0 0% 100%;
--popover-foreground: 240 10% 3.9%;
--primary: 24 100% 50%;
--primary-foreground: 0 0% 100%;
--secondary: 240 4.8% 95.9%;
--secondary-foreground: 240 5.9% 10%;
--muted: 240 4.8% 95.9%;
--muted-foreground: 240 3.8% 46.1%;
--accent: 240 4.8% 95.9%;
--accent-foreground: 240 5.9% 10%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 0 0% 98%;
--border: 240 5.9% 90%;
--input: 240 5.9% 90%;
--ring: 24 100% 50%;
--radius: 0.75rem;
--sidebar-background: 240 10% 3.9%;
--sidebar-foreground: 0 0% 98%;
--sidebar-primary: 24 100% 50%;
--sidebar-primary-foreground: 0 0% 100%;
--sidebar-accent: 240 3.7% 15.9%;
--sidebar-accent-foreground: 0 0% 98%;
--sidebar-border: 240 3.7% 15.9%;
--sidebar-ring: 24 100% 50%;
--toaster-z-index: 9999 !important;
}
* {
@apply border-border selection:bg-primary/10 selection:text-primary;
}
html {
@apply scroll-smooth h-full overflow-hidden;
/* Prevent overscroll behavior on mobile */
overscroll-behavior: none;
-webkit-overflow-scrolling: touch;
}
body {
@apply bg-background text-foreground antialiased h-full;
font-feature-settings: "ss01", "ss02", "cv01", "cv02", "cv03";
/* Fix for mobile viewport height issues */
min-height: 100vh;
min-height: -webkit-fill-available;
position: relative;
}
#root {
@apply h-full max-w-none m-0 p-0;
min-height: 100vh;
min-height: -webkit-fill-available;
}
}
@layer components {
.glass-panel {
@apply bg-white/70 backdrop-blur-xl border border-white/20 shadow-sm;
}
.glass-panel-dark {
@apply bg-black/20 backdrop-blur-xl border border-white/10 shadow-md;
}
.navbar-item {
@apply flex items-center gap-3 px-3 py-2 rounded-md text-sm font-medium transition-all hover:bg-secondary;
}
.navbar-item-active {
@apply bg-primary/10 text-primary hover:bg-primary/20;
}
.section-title {
@apply text-xl font-semibold tracking-tight;
}
.card-hover {
@apply transition-all duration-300 hover:shadow-md hover:-translate-y-1;
}
/* Use less intensive animations for mobile compatibility */
.animate-in {
animation: fadeIn 0.3s ease-out forwards;
opacity: 0;
}
.slide-in-left {
animation: slideInLeft 0.3s ease-out forwards;
transform: translateX(-10px);
opacity: 0;
}
.slide-in-right {
animation: slideInRight 0.3s ease-out forwards;
transform: translateX(10px);
opacity: 0;
}
.slide-in-up {
animation: slideInUp 0.3s ease-out forwards;
transform: translateY(10px);
opacity: 0;
}
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes slideInLeft {
from {
transform: translateX(-10px);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
@keyframes slideInRight {
from {
transform: translateX(10px);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
@keyframes slideInUp {
from {
transform: translateY(10px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.hover-scale {
transition: transform 0.3s ease;
overflow: visible !important;
}
.hover-scale:hover {
transform: scale(1.02);
}
.page-transition-enter {
opacity: 0;
transform: translateY(10px);
}
.page-transition-enter-active {
opacity: 1;
transform: translateY(0);
transition: opacity 300ms, transform 300ms;
}
.page-transition-exit {
opacity: 1;
}
.page-transition-exit-active {
opacity: 0;
transform: translateY(-10px);
transition: opacity 300ms, transform 300ms;
}
/* Fix for any mobile WebView rendering issues */
input, textarea, select, button {
-webkit-appearance: none;
appearance: none;
border-radius: var(--radius);
}
/* Fix for mobile form focusing */
input:focus, textarea:focus, select:focus, button:focus {
outline: none;
}
/* Toast Animation Styles */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeOut {
from {
opacity: 1;
transform: translateY(0);
}
to {
opacity: 0;
transform: translateY(20px);
}
}
.animate-in {
animation: fadeIn 0.3s ease forwards;
}
.animate-out {
animation: fadeOut 0.3s ease forwards;
}
.fade-in-0 {
opacity: 0;
}
.slide-in-from-bottom-6 {
transform: translateY(16px);
}
.duration-300 {
animation-duration: 300ms;
}
/* Fix for dropdown menus appearing behind other elements */
[data-radix-popper-content-wrapper] {
z-index: 9999 !important;
visibility: visible !important;
}
/* Show dropdown content */
[data-state="open"] {
visibility: visible !important;
z-index: 9999 !important;
}
/* Fix for dropdown scrolling issues */
.hover-scale,
.overflow-visible,
.card {
overflow: visible !important;
}
/* Add these CSS rules to fix black screen issue with dropdowns */
/* Fix for black screen with popover/dropdown menus */
body, #root {
min-height: 100vh;
position: relative;
overflow-x: hidden;
background-color: var(--background);
color: var(--foreground);
}
/* Ensure popover content has proper z-index and background */
[data-radix-popper-content-wrapper] {
z-index: 50 !important;
}
/* Fix for command dialog styles */
[cmdk-root] {
background-color: white !important;
}
[data-theme="dark"] [cmdk-root] {
background-color: hsl(240 10% 3.9%) !important;
}
/* Fix for popover content positioning */
.popover-content {
position: relative;
z-index: 999;
}
/* Prevent content behind popover from disappearing */
.popover-content * {
position: relative;
}
/* Prevent content from going black when popover is open */
.radix-popover-content-wrapper,
.radix-dialog-content-wrapper {
z-index: 9999;
position: relative;
}
/* Custom dropdown styling */
.floating-ui-dropdown {
background-color: white !important;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
border: 1px solid rgba(0, 0, 0, 0.1) !important;
border-radius: 6px !important;
overflow: hidden !important;
}
.dark .floating-ui-dropdown {
background-color: hsl(240 10% 3.9%) !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
.floating-ui-dropdown-search {
background-color: white !important;
color: black !important;
border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}
.dark .floating-ui-dropdown-search {
background-color: hsl(240 10% 3.9%) !important;
color: white !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
.floating-ui-dropdown-option {
background-color: white !important;
color: black !important;
}
.dark .floating-ui-dropdown-option {
background-color: hsl(240 10% 3.9%) !important;
color: white !important;
}
.floating-ui-dropdown-option:hover,
.floating-ui-dropdown-option-active {
background-color: rgba(0, 0, 0, 0.05) !important;
}
.dark .floating-ui-dropdown-option:hover,
.dark .floating-ui-dropdown-option-active {
background-color: rgba(255, 255, 255, 0.1) !important;
}
/* Fix for sonner toast notifications - ensure they're visible with high z-index */
:root {
--toaster-z-index: 9999 !important;
}
/* Override any unwanted sonner positioning */
[data-sonner-toaster] {
position: fixed !important;
z-index: var(--toaster-z-index) !important;
bottom: 16px !important;
right: 16px !important;
top: auto !important;
left: auto !important;
}
/* Super aggressive styling for toast */
[data-sonner-toast] {
position: relative !important;
z-index: calc(var(--toaster-z-index) + 1) !important;
background-color: hsl(0 0% 100%) !important;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
border: 1px solid var(--border) !important;
backdrop-filter: blur(4px) !important;
opacity: 1 !important;
}
/* Force all child elements to have the same background */
[data-sonner-toast] * {
background-color: transparent !important;
}
[data-sonner-toast] > div {
background-color: inherit !important;
opacity: 1 !important;
}
/* Style the actual toast components */
.group.toast {
background-color: hsl(0 0% 100%) !important;
opacity: 1 !important;
}
[data-theme="dark"] [data-sonner-toast],
[data-theme="dark"] .group.toast {
background-color: hsl(240 10% 3.9%) !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
/* Ensure toast notifications are not blocked by any other content */
[data-sonner-toaster][data-theme][data-x-position="right"] {
right: 16px !important;
}
[data-sonner-toaster][data-theme][data-y-position="bottom"] {
bottom: 16px !important;
top: auto !important;
}
/* Toast animations for bottom position */
@keyframes toastInBottom {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes toastOutBottom {
from {
opacity: 1;
transform: translateY(0);
}
to {
opacity: 0;
transform: translateY(20px);
}
}
[data-sonner-toast][data-styled="true"][data-mounted="true"] {
animation: toastInBottom 0.3s ease-out forwards !important;
}
[data-sonner-toast][data-styled="true"][data-mounted="false"] {
animation: toastOutBottom 0.3s ease-in forwards !important;
}