fc / style.css
Althnayi's picture
Upload 56 files
cca0cf3 verified
Raw
History Blame Contribute Delete
29.1 kB
/* ==========================================================================
FRITREE WORKSPACE - DESIGN SYSTEM & RESPONSIVE ARCHITECTURE
========================================================================== */
:root {
/* Color Palette - Light SaaS Theme */
--primary: #1877f2;
--primary-hover: #166fe5;
--primary-focus: rgba(24, 119, 242, 0.25);
--primary-light: #eff6ff;
--primary-border: #bfdbfe;
--wa-brand: #00a884;
--wa-brand-hover: #008f6f;
--wa-light: #f0fdf4;
--wa-border: #bbf7d0;
--success: #10b981;
--success-hover: #059669;
--success-light: #ecfdf5;
--success-border: #a7f3d0;
--warning: #f59e0b;
--warning-hover: #d97706;
--warning-light: #fffbeb;
--warning-border: #fde68a;
--danger: #ef4444;
--danger-hover: #dc2626;
--danger-light: #fef2f2;
--danger-border: #fecaca;
--purple: #8b5cf6;
--purple-light: #faf5ff;
--purple-border: #ddd6fe;
/* Neutrals & Surfaces */
--bg-main: #f4f6f9;
--bg-card: #ffffff;
--bg-subtle: #f8fafc;
--bg-input: #ffffff;
--text-main: #0f172a;
--text-secondary: #334155;
--text-muted: #64748b;
--border: #cbd5e1;
--border-strong: #cbd5e1;
/* Specialized Layer Surfaces */
--dark-panel: #0b0f19;
--dark-panel-border: #1e293b;
--glass-bg: rgba(255, 255, 255, 0.92);
--glass-border: rgba(226, 232, 240, 0.8);
--glass-blur: blur(12px);
/* Elevation Shadows */
--shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
--shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04);
--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.04);
--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.03);
--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
--shadow-modal: 0 25px 50px -12px rgba(15, 23, 42, 0.25);
/* Radii */
--radius-xs: 4px;
--radius-sm: 6px;
--radius-md: 10px;
--radius-lg: 14px;
--radius-xl: 18px;
--radius-2xl: 24px;
--radius-pill: 9999px;
/* Typography Stacks */
--font-arabic: 'Cairo', system-ui, -apple-system, sans-serif;
--font-sans: 'Plus Jakarta Sans', 'Cairo', system-ui, -apple-system, sans-serif;
--font-code: 'JetBrains Mono', 'Fira Code', monospace;
/* Fluid Spacing & Sizes (clamp scales from 320px to 1920px) */
--space-xs: clamp(4px, 0.4vw, 6px);
--space-sm: clamp(6px, 0.8vw, 10px);
--space-md: clamp(10px, 1.2vw, 16px);
--space-lg: clamp(16px, 1.8vw, 24px);
--space-xl: clamp(20px, 2.5vw, 32px);
/* Touch & Z-Index Constants */
--touch-target-min: 44px;
--z-base: 1;
--z-card: 2;
--z-sticky-bar: 10;
--z-dropdown: 100;
--z-sticky-header: 300;
--z-modal-backdrop: 5000;
--z-modal-content: 5001;
--z-floating-panel: 8000;
--z-virtual-cursor: 10000;
}
/* Dark Mode Theme Overrides */
@media (prefers-color-scheme: dark) {
:root {
--bg-main: #090d16;
--bg-card: #111827;
--bg-subtle: #172033;
--bg-input: #0b1120;
--text-main: #f8fafc;
--text-secondary: #cbd5e1;
--text-muted: #94a3b8;
--border: #1f293d;
--border-strong: #334155;
--primary-light: rgba(24, 119, 242, 0.15);
--primary-border: rgba(24, 119, 242, 0.35);
--wa-light: rgba(0, 168, 132, 0.15);
--wa-border: rgba(0, 168, 132, 0.35);
--success-light: rgba(16, 185, 129, 0.15);
--success-border: rgba(16, 185, 129, 0.35);
--warning-light: rgba(245, 158, 11, 0.15);
--warning-border: rgba(245, 158, 11, 0.35);
--danger-light: rgba(239, 68, 68, 0.15);
--danger-border: rgba(239, 68, 68, 0.35);
--purple-light: rgba(139, 92, 246, 0.15);
--purple-border: rgba(139, 92, 246, 0.35);
--glass-bg: rgba(17, 24, 39, 0.92);
--glass-border: rgba(31, 41, 61, 0.8);
--shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
--shadow-md: 0 4px 8px rgba(0, 0, 0, 0.4);
--shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.5);
--shadow-modal: 0 25px 50px rgba(0, 0, 0, 0.7);
}
}
/* ==========================================================================
GLOBAL RESET, TOUCH-ACTION, & FLUID NORMALIZATION
========================================================================== */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
html {
direction: rtl !important;
text-align: right !important;
font-family: var(--font-arabic);
font-size: clamp(13px, 0.95vw, 15px);
line-height: 1.55;
background-color: var(--bg-main);
color: var(--text-main);
/* منع التقريب والتبعيد المزدوج بالأصابع مع الحفاظ على التمرير والنقر الطبيعي */
touch-action: pan-x pan-y manipulation;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
overflow-x: hidden;
width: 100%;
}
body {
direction: rtl !important;
text-align: right !important;
min-height: 100vh;
width: 100%;
max-width: 100vw;
overflow-x: hidden;
background-color: var(--bg-main);
color: var(--text-main);
padding: var(--space-sm);
display: flex;
flex-direction: column;
touch-action: pan-x pan-y manipulation;
}
/* منع كسر عناصر RTL وتوحيد محاذاة الأيقونات والنصوص */
input, textarea, select, table, th, td {
direction: rtl;
text-align: right;
font-family: inherit;
color: inherit;
}
input[type="number"],
input[type="time"],
input[type="date"],
input[type="datetime-local"],
input[data-ltr="true"] {
direction: ltr;
text-align: left;
}
/* تجريد أشرطة التمرير وجعلها ناعمة الملمس */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: var(--border-strong);
border-radius: var(--radius-pill);
}
::-webkit-scrollbar-thumb:hover {
background: var(--text-muted);
}
* {
scrollbar-width: thin;
scrollbar-color: var(--border-strong) transparent;
}
/* تنسيق أيقونات FontAwesome لتكون متناسقة تماماً */
i.fa-solid, i.fa-brands, i.fa-regular, svg {
display: inline-flex;
align-items: center;
justify-content: center;
vertical-align: middle;
flex-shrink: 0;
}
/* ==========================================================================
LAYOUT STRUCTURE & MAIN APP SHELL
========================================================================== */
.irhpamtq54 {
width: 100%;
max-width: min(1680px, 98vw);
margin: 0 auto;
display: flex;
flex-direction: column;
gap: var(--space-md);
flex: 1;
position: relative;
z-index: var(--z-base);
}
.m4lmkqf6g6 {
display: grid;
grid-template-columns: 1fr;
width: 100%;
gap: var(--space-md);
position: relative;
}
.e9nzyvdz8z {
display: flex;
flex-direction: column;
gap: var(--space-md);
width: 100%;
min-width: 0;
}
#fritree-dynamic-panes-host {
display: flex;
flex-direction: column;
gap: var(--space-md);
width: 100%;
min-width: 0;
}
.rjiai07g77 {
display: none !important;
width: 100%;
min-width: 0;
}
.rjiai07g77.vn5qn7dmpk {
display: flex !important;
flex-direction: column;
gap: var(--space-md);
width: 100%;
}
/* ==========================================================================
HEADER & TOP APP BAR
========================================================================== */
header#tqg8vnolvo,
header {
background: var(--bg-card);
backdrop-filter: var(--glass-blur);
-webkit-backdrop-filter: var(--glass-blur);
padding: clamp(10px, 1.2vw, 16px) clamp(12px, 1.5vw, 20px);
border-radius: var(--radius-lg);
border: 1px solid var(--border);
display: flex;
justify-content: space-between;
align-items: center;
position: sticky;
top: clamp(6px, 1vw, 12px);
z-index: var(--z-sticky-header);
width: 100%;
}
header h1 {
font-size: clamp(16px, 1.4vw, 20px);
font-weight: 900;
color: var(--primary);
display: flex;
align-items: center;
gap: 8px;
letter-spacing: -0.02em;
}
.swy9zjes8j {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
flex-wrap: wrap;
gap: var(--space-sm);
}
#uzyaoqkxib {
width: clamp(34px, 2.5vw, 42px);
height: clamp(34px, 2.5vw, 42px);
cursor: pointer;
user-select: none;
-webkit-user-drag: none;
}
/* Status Badges & Points Chips in Header */
.zcsc0rlnfn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: clamp(5px, 0.6vw, 7px) clamp(10px, 0.9vw, 14px);
border-radius: var(--radius-pill);
font-size: clamp(11px, 0.8vw, 12.5px);
font-weight: 800;
background: var(--bg-subtle);
color: var(--text-main);
border: 1px solid var(--border);
min-height: 32px;
white-space: nowrap;
}
.zcsc0rlnfn.green {
background: var(--success-light);
color: var(--success-hover);
border-color: var(--success-border);
}
.zcsc0rlnfn.yellow {
background: var(--warning-light);
color: var(--warning-hover);
border-color: var(--warning-border);
}
.zcsc0rlnfn.red {
background: var(--danger-light);
color: var(--danger-hover);
border-color: var(--danger-border);
}
/* ==========================================================================
MAIN CARDS, PANELS & GLASSMORPHISM
========================================================================== */
.d5tp7way8h,
.zcjbe1otmg {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius-xl);
padding: clamp(14px, 1.6vw, 24px);
display: flex;
flex-direction: column;
gap: var(--space-md);
position: relative;
width: 100%;
min-width: 0;
overflow: hidden;
}
.cm41ch7urz {
font-size: clamp(14px, 1.1vw, 16px);
font-weight: 800;
color: var(--text-main);
display: flex;
align-items: center;
gap: 8px;
border-bottom: 1px solid var(--border);
padding-bottom: 10px;
margin-bottom: 4px;
}
/* ==========================================================================
COMMAND HUB & QUICK ACCESS BUTTONS
========================================================================== */
.dor4fqny2d {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(clamp(130px, 10vw, 170px), 1fr));
gap: clamp(8px, 0.9vw, 12px);
width: 100%;
}
.h91buejhw9 {
background: var(--bg-card) !important;
color: var(--text-main) !important;
border: 1px solid var(--border) !important;
border-radius: var(--radius-md) !important;
padding: clamp(10px, 1vw, 14px) clamp(10px, 1vw, 14px) !important;
font-size: clamp(11px, 0.8vw, 12.5px) !important;
font-weight: 800 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
cursor: pointer !important;
min-height: var(--touch-target-min);
white-space: nowrap !important;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.h91buejhw9:hover {
background: var(--bg-subtle) !important;
border-color: var(--primary) !important;
color: var(--primary) !important;
}
/* ==========================================================================
BUTTON SYSTEM
========================================================================== */
button,
.itdnt14mss,
.ipxi2jz4g0,
.btn-danger {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
padding: clamp(8px, 0.8vw, 11px) clamp(12px, 1.2vw, 18px);
border-radius: var(--radius-md);
font-size: clamp(11.5px, 0.82vw, 13px);
font-weight: 800;
font-family: inherit;
cursor: pointer;
border: 1px solid transparent;
user-select: none;
min-height: 36px;
touch-action: manipulation;
transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* Primary SaaS Button */
.itdnt14mss,
button.primary {
background: var(--primary);
color: #ffffff;
border-color: var(--primary);
}
/* Secondary / Neutral Button */
.ipxi2jz4g0,
button.secondary {
background: var(--bg-card);
color: var(--text-secondary);
border-color: var(--border);
}
.ipxi2jz4g0:hover,
button.secondary:hover {
background: var(--bg-subtle);
border-color: var(--border-strong);
color: var(--text-main);
}
.ipxi2jz4g0.vn5qn7dmpk {
background: var(--primary-light) !important;
color: var(--primary) !important;
border-color: var(--primary-border) !important;
font-weight: 900 !important;
}
/* Danger Button */
.btn-danger,
button.danger {
background: var(--danger-light);
color: var(--danger);
border-color: var(--danger-border);
}
.btn-danger:hover,
button.danger:hover {
background: var(--danger);
color: #ffffff;
border-color: var(--danger);
}
button:disabled,
.itdnt14mss:disabled,
.ipxi2jz4g0:disabled {
opacity: 0.55;
cursor: not-allowed;
}
/* Small Table Action Icon Buttons */
.f3ko84hxzm {
width: 32px;
height: 32px;
min-height: 32px;
padding: 0;
border-radius: var(--radius-sm);
background: var(--bg-subtle);
border: 1px solid var(--border);
color: var(--text-secondary);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 12px;
cursor: pointer;
transition: all 0.15s ease;
}
.f3ko84hxzm:hover {
background: var(--bg-card);
border-color: var(--border-strong);
color: var(--primary);
}
/* ==========================================================================
INPUTS, SELECTS, & FORM ELEMENTS
========================================================================== */
.xy26ymifmf,
.x7fmsajit7,
input[type="text"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select {
width: 100%;
padding: clamp(8px, 0.9vw, 10px) clamp(10px, 1vw, 14px);
background: var(--bg-input);
color: var(--text-main);
border: 1px solid var(--border);
border-radius: var(--radius-md);
font-size: clamp(11.5px, 0.8vw, 13px);
font-family: inherit;
outline: none;
min-height: 38px;
}
.xy26ymifmf:focus,
.x7fmsajit7:focus,
input:focus,
select:focus,
textarea:focus {
border-color: var(--primary);
}
textarea.f0ngq4vbzj,
textarea {
width: 100%;
padding: clamp(10px, 1vw, 14px);
background: var(--bg-input);
color: var(--text-main);
border: 1px solid var(--border);
border-radius: var(--radius-md);
font-size: clamp(11.5px, 0.8vw, 13px);
font-family: inherit;
line-height: 1.6;
resize: vertical;
min-height: 90px;
outline: none;
}
.d0uttwsjz2 {
display: flex;
flex-direction: column;
gap: 5px;
margin-bottom: var(--space-sm);
width: 100%;
}
.d0uttwsjz2 label {
font-size: clamp(11px, 0.75vw, 12px);
font-weight: 700;
color: var(--text-secondary);
display: flex;
align-items: center;
gap: 6px;
}
/* Custom Styled Range Sliders */
input[type="range"] {
-webkit-appearance: none;
appearance: none;
width: 100%;
height: 6px;
border-radius: var(--radius-pill);
background: var(--border);
outline: none;
margin: 10px 0;
cursor: pointer;
}
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 18px;
height: 18px;
border-radius: 50%;
background: var(--primary);
border: 2px solid #ffffff;
cursor: pointer;
}
/* Toggle Checkboxes & Switches */
.mkxtd1c1kq {
display: flex;
align-items: center;
gap: 10px;
padding: clamp(8px, 0.9vw, 12px) clamp(10px, 1vw, 14px);
background: var(--bg-subtle);
border: 1px solid var(--border);
border-radius: var(--radius-md);
cursor: pointer;
user-select: none;
transition: background-color 0.15s ease;
min-height: var(--touch-target-min);
}
.mkxtd1c1kq:hover {
background: var(--bg-card);
border-color: var(--border-strong);
}
.mkxtd1c1kq input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: var(--primary);
cursor: pointer;
}
.mkxtd1c1kq span,
.mkxtd1c1kq label {
font-size: clamp(11.5px, 0.8vw, 12.5px);
font-weight: 700;
cursor: pointer;
}
/* Drag & Drop File Upload Zones */
.jbhynmzpf2 {
border: 2px dashed var(--border-strong);
background: var(--bg-subtle);
padding: clamp(18px, 2vw, 30px);
border-radius: var(--radius-lg);
text-align: center;
cursor: pointer;
font-size: clamp(11.5px, 0.85vw, 13px);
font-weight: 600;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 6px;
transition: all 0.2s ease;
}
.jbhynmzpf2:hover {
border-color: var(--primary);
background: var(--primary-light);
color: var(--primary);
}
/* ==========================================================================
KPI METRICS, STATS, & DASHBOARD WIDGETS
========================================================================== */
.xd506q5mar,
.dg59hwiq63 {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(clamp(140px, 12vw, 200px), 1fr));
gap: clamp(8px, 1vw, 14px);
width: 100%;
}
.r6wq5imop6,
.ebizolmvap {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: clamp(12px, 1.2vw, 18px) clamp(10px, 1vw, 16px);
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
min-width: 0;
transition: border-color 0.18s ease;
}
.r6wq5imop6:hover,
.ebizolmvap:hover {
border-color: var(--border-strong);
}
.r6wq5imop6 .kisn3ao2tz,
.ebizolmvap .kisn3ao2tz {
font-size: clamp(18px, 1.6vw, 24px);
font-weight: 900;
color: var(--text-main);
letter-spacing: -0.02em;
}
.r6wq5imop6 .h7ren96m5v,
.ebizolmvap .h7ren96m5v {
font-size: clamp(10.5px, 0.72vw, 11.5px);
font-weight: 700;
color: var(--text-muted);
display: flex;
align-items: center;
gap: 4px;
}
/* ==========================================================================
PROGRESS BARS & ANIMATED STRIPES
========================================================================== */
.s58rzsrk81,
.w114bizl1x {
width: 100%;
height: 10px;
background: var(--border);
border-radius: var(--radius-pill);
overflow: hidden;
position: relative;
}
.xv12sshgcd,
.x77bhisrwx {
height: 100%;
border-radius: var(--radius-pill);
background: linear-gradient(90deg, #10b981, #34d399);
position: absolute;
right: 0;
left: auto;
transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
}
@keyframes progressBarStripes {
0% { background-position: 40px 0; }
100% { background-position: 0 0; }
}
.xv12sshgcd::before,
.x77bhisrwx::before {
content: '';
position: absolute;
inset: 0;
background-image: linear-gradient(
45deg,
rgba(255, 255, 255, 0.25) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.25) 50%,
rgba(255, 255, 255, 0.25) 75%,
transparent 75%,
transparent
);
background-size: 24px 24px;
animation: progressBarStripes 1.8s linear infinite;
}
/* ==========================================================================
DATA TABLES & RESPONSIVE DATA GRIDS
========================================================================== */
.diktqr0h64 {
width: 100%;
max-height: 520px;
overflow-x: auto;
overflow-y: auto;
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
-webkit-overflow-scrolling: touch;
}
table {
width: 100%;
min-width: 600px;
border-collapse: collapse;
direction: rtl;
text-align: right;
font-size: clamp(11.5px, 0.8vw, 12.5px);
}
th {
background: var(--bg-subtle);
color: var(--text-secondary);
font-weight: 800;
font-size: clamp(10.5px, 0.72vw, 11.5px);
padding: 10px 12px;
border-bottom: 1px solid var(--border);
position: sticky;
top: 0;
z-index: var(--z-sticky-bar);
white-space: nowrap;
}
td {
padding: 10px 12px;
border-bottom: 1px solid var(--border);
color: var(--text-main);
background: var(--bg-card);
}
tbody tr:hover td {
background-color: var(--bg-subtle);
}
.go30y9mfgh {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
border-radius: var(--radius-pill);
font-size: 10.5px;
font-weight: 800;
white-space: nowrap;
}
.go30y9mfgh.success {
background: var(--success-light);
color: var(--success-hover);
border: 1px solid var(--success-border);
}
.go30y9mfgh.pending {
background: var(--warning-light);
color: var(--warning-hover);
border: 1px solid var(--warning-border);
}
.go30y9mfgh.failed {
background: var(--danger-light);
color: var(--danger-hover);
border: 1px solid var(--danger-border);
}
/* ==========================================================================
NAVIGATION TABS (SUB-MENUS)
========================================================================== */
.pfe6btieb6 {
display: flex;
gap: 6px;
background: var(--bg-subtle);
padding: 4px;
border-radius: var(--radius-md);
border: 1px solid var(--border);
scrollbar-width: none;
width: 100%;
}
.n9cqm6ze7d {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
padding: 8px 14px;
border-radius: var(--radius-sm);
font-size: clamp(11.5px, 0.78vw, 12.5px);
font-weight: 800;
color: var(--text-secondary);
background: transparent;
cursor: pointer;
white-space: nowrap;
min-height: 36px;
transition: all 0.15s ease;
}
.n9cqm6ze7d:hover {
color: var(--text-main);
background: rgba(255, 255, 255, 0.5);
}
.n9cqm6ze7d.vn5qn7dmpk {
background: var(--bg-card);
color: var(--primary);
font-weight: 900;
}
/* ==========================================================================
TERMINAL & LIVE CONSOLE
========================================================================== */
.xqkt2dawl5 {
background: var(--dark-panel);
border: 1px solid var(--dark-panel-border);
border-radius: var(--radius-lg);
padding: 14px 16px;
color: #e2e8f0;
display: flex;
flex-direction: column;
gap: 8px;
}
.wczdtelsho {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #1e293b;
padding-bottom: 8px;
}
.z32huijvo4 {
font-size: 12px;
font-weight: 800;
color: #94a3b8;
display: flex;
align-items: center;
gap: 6px;
}
.l892o3saqa {
max-height: 240px;
overflow-y: auto;
font-family: var(--font-code);
font-size: 11px;
line-height: 1.6;
display: flex;
flex-direction: column;
gap: 4px;
}
.xat4o6cs3m {
display: flex;
gap: 8px;
align-items: flex-start;
}
.fe5xz6pikv {
color: #64748b;
font-weight: bold;
}
.ma43slkxth { color: #cbd5e1; }
.hjxwx50o9j { color: #34d399; font-weight: bold; }
.j271lhps8l { color: #fbbf24; font-weight: bold; }
.j640dqp9ki { color: #f87171; font-weight: bold; }
/* ==========================================================================
MODALS, DIALOGS, & OVERLAYS
========================================================================== */
.cpzxome5dd {
position: fixed;
inset: 0;
width: 100vw;
height: 100vh;
background: rgba(15, 23, 42, 0.65);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
display: none;
align-items: center;
justify-content: center;
z-index: var(--z-modal-backdrop);
padding: var(--space-sm);
}
.s4yvtq9394 {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius-xl);
width: 100%;
max-width: min(840px, 94vw);
max-height: min(88vh, 850px);
display: flex;
flex-direction: column;
overflow: hidden;
z-index: var(--z-modal-content);
animation: modalEnter 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.x8pdlyq70a {
padding: 14px 20px;
border-bottom: 1px solid var(--border);
display: flex;
justify-content: space-between;
align-items: center;
background: var(--bg-subtle);
}
.tooau3ykdi {
font-size: clamp(13px, 1vw, 15px);
font-weight: 800;
color: var(--text-main);
display: flex;
align-items: center;
gap: 8px;
}
.bcuz086hu4 {
width: 32px;
height: 32px;
border-radius: var(--radius-sm);
background: transparent;
border: none;
color: var(--text-muted);
font-size: 20px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
.bcuz086hu4:hover {
background: var(--border);
color: var(--text-main);
}
.zn6t0dl6ke {
padding: clamp(14px, 1.5vw, 22px);
overflow-y: auto;
display: flex;
flex-direction: column;
gap: var(--space-md);
flex: 1;
}
/* ==========================================================================
CALENDAR & SMART AGENDA GRIDS
========================================================================== */
#cci683rox1,
#xelvek2oj4 {
display: grid !important;
grid-template-columns: repeat(7, 1fr) !important;
gap: 6px !important;
width: 100% !important;
}
.tgsdy5q5de {
min-height: clamp(80px, 8vw, 108px) !important;
max-height: clamp(90px, 9vw, 120px) !important;
border-radius: var(--radius-md) !important;
padding: 6px !important;
display: flex !important;
flex-direction: column !important;
gap: 3px !important;
overflow: hidden !important;
box-sizing: border-box !important;
}
.aptwc0k2a5 {
font-size: 10px !important;
padding: 3px 6px !important;
border-radius: var(--radius-xs) !important;
white-space: nowrap !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
display: flex !important;
align-items: center !important;
gap: 4px !important;
}
/* ==========================================================================
RESPONSIVE BREAKPOINTS (260px UP TO 4K)
========================================================================== */
/* 1. Ultra-Small Screens (260px - 360px) Smartwatches / Mini Mobile */
@media (max-width: 360px) {
:root {
--touch-target-min: 42px;
}
body {
padding: 4px !important;
}
header {
padding: 8px !important;
gap: 8px !important;
}
header h1 {
font-size: 14px !important;
}
.swy9zjes8j {
flex-direction: column !important;
align-items: stretch !important;
}
.dor4fqny2d,
.xd506q5mar,
.dg59hwiq63,
.main-grid,
.syq6wf2p80,
#ovnw7b9lmg {
grid-template-columns: 1fr !important;
gap: 8px !important;
}
.d5tp7way8h {
padding: 10px !important;
border-radius: var(--radius-md) !important;
}
.h91buejhw9 {
width: 100% !important;
font-size: 11px !important;
padding: 10px !important;
}
button, .itdnt14mss, .ipxi2jz4g0, .btn-danger {
width: 100% !important;
font-size: 11px !important;
}
#cci683rox1, #xelvek2oj4 {
grid-template-columns: repeat(2, 1fr) !important;
}
.tgsdy5q5de {
min-height: 70px !important;
}
}
/* 2. Compact Mobile (361px - 480px) */
@media (min-width: 361px) and (max-width: 480px) {
.dor4fqny2d {
grid-template-columns: repeat(2, 1fr) !important;
}
.xd506q5mar,
.dg59hwiq63,
.main-grid,
.syq6wf2p80,
#ovnw7b9lmg {
grid-template-columns: 1fr !important;
}
#cci683rox1, #xelvek2oj4 {
grid-template-columns: repeat(4, 1fr) !important;
}
}
/* 3. Phablets & Small Tablets (481px - 768px) */
@media (max-width: 768px) {
.nn6w510nv0,
.main-grid,
.syq6wf2p80,
#ovnw7b9lmg {
grid-template-columns: 1fr !important;
}
.s4yvtq9394 {
width: 96% !important;
max-height: 94vh !important;
}
.mdtccbdij9 {
flex-direction: column !important;
align-items: stretch !important;
}
.t0kogc0c45 {
width: 100% !important;
}
}
/* 4. Large Tablets & Small Laptops (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
.xd506q5mar {
grid-template-columns: repeat(2, 1fr) !important;
}
}
/* 5. Ultra-Wide & 4K Displays (2560px - 3840px+) */
@media (min-width: 2560px) {
:root {
--space-md: 24px;
--space-lg: 32px;
}
.irhpamtq54 {
max-width: 2200px !important;
}
body {
padding: 24px !important;
}
.dor4fqny2d {
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
}
}