Learning_Management_System_LMS/src/app/globals.css

290 خطوط
7.9 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
color-scheme: light;
--font-vazirmatn: Vazirmatn, Tahoma, sans-serif;
--color-bg: #eef4fb;
--color-bg-soft: #f8fafc;
--color-surface: rgba(255, 255, 255, 0.78);
--color-surface-strong: rgba(255, 255, 255, 0.92);
--color-card: rgba(255, 255, 255, 0.72);
--color-elevated: rgba(255, 255, 255, 0.9);
--color-text: #0f172a;
--color-text-secondary: #475569;
--color-text-muted: #64748b;
--color-border: rgba(148, 163, 184, 0.34);
--color-divider: rgba(148, 163, 184, 0.24);
--color-accent: #0891b2;
--color-accent-hover: #0e7490;
--color-info: #0284c7;
--color-success: #059669;
--color-warning: #d97706;
--color-danger: #e11d48;
--color-disabled-bg: rgba(148, 163, 184, 0.22);
--color-disabled-text: #94a3b8;
--color-input-bg: rgba(255, 255, 255, 0.86);
--color-input-border: rgba(148, 163, 184, 0.42);
--color-table-header: rgba(226, 232, 240, 0.7);
--color-table-row-hover: rgba(14, 165, 233, 0.1);
--color-selected: rgba(14, 165, 233, 0.16);
--color-focus-ring: rgba(14, 165, 233, 0.32);
--color-overlay: rgba(15, 23, 42, 0.28);
--shadow-soft: 0 18px 54px rgba(15, 23, 42, 0.14);
--shadow-elevated: 0 28px 90px rgba(15, 23, 42, 0.18);
--glass-opacity: 0.72;
--glass-light-alpha-strong: calc(0.34 + (var(--glass-opacity) * 0.38));
--glass-light-alpha-soft: calc(0.18 + (var(--glass-opacity) * 0.2));
--glass-dark-alpha-strong: calc(var(--glass-opacity) * 0.86);
--glass-dark-alpha-soft: calc(var(--glass-opacity) * 0.42);
}
.dark {
color-scheme: dark;
--color-bg: #07111f;
--color-bg-soft: #0f172a;
--color-surface: rgba(15, 23, 42, 0.78);
--color-surface-strong: rgba(15, 23, 42, 0.92);
--color-card: rgba(30, 41, 59, 0.66);
--color-elevated: rgba(15, 23, 42, 0.9);
--color-text: #f8fafc;
--color-text-secondary: #cbd5e1;
--color-text-muted: #94a3b8;
--color-border: rgba(226, 232, 240, 0.16);
--color-divider: rgba(226, 232, 240, 0.12);
--color-accent: #22d3ee;
--color-accent-hover: #67e8f9;
--color-info: #38bdf8;
--color-success: #34d399;
--color-warning: #fbbf24;
--color-danger: #fb7185;
--color-disabled-bg: rgba(71, 85, 105, 0.42);
--color-disabled-text: #64748b;
--color-input-bg: rgba(15, 23, 42, 0.84);
--color-input-border: rgba(226, 232, 240, 0.18);
--color-table-header: rgba(30, 41, 59, 0.82);
--color-table-row-hover: rgba(34, 211, 238, 0.1);
--color-selected: rgba(34, 211, 238, 0.16);
--color-focus-ring: rgba(34, 211, 238, 0.32);
--color-overlay: rgba(2, 6, 23, 0.58);
--shadow-soft: 0 22px 70px rgba(0, 0, 0, 0.36);
--shadow-elevated: 0 30px 100px rgba(0, 0, 0, 0.48);
}
* {
box-sizing: border-box;
}
html,
body {
min-height: 100%;
margin: 0;
direction: rtl;
}
body {
overflow: hidden;
font-family: var(--font-vazirmatn);
color: var(--color-text);
background: var(--color-bg);
}
button,
input,
textarea,
select {
font: inherit;
}
select {
direction: rtl;
min-height: 2.5rem;
color: var(--color-text);
background-color: var(--color-input-bg) !important;
border: 1px solid var(--color-input-border);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 10px 30px rgba(15, 23, 42, 0.08);
backdrop-filter: blur(18px) saturate(1.25);
-webkit-backdrop-filter: blur(18px) saturate(1.25);
}
select:not([multiple]) {
appearance: none;
-webkit-appearance: none;
padding-inline-start: 2.5rem !important;
padding-inline-end: 0.85rem !important;
background-image:
linear-gradient(45deg, transparent 50%, currentColor 50%),
linear-gradient(135deg, currentColor 50%, transparent 50%);
background-position:
1.15rem calc(50% - 0.12rem),
0.85rem calc(50% - 0.12rem);
background-size: 0.38rem 0.38rem, 0.38rem 0.38rem;
background-repeat: no-repeat;
}
select:focus {
border-color: var(--color-accent);
box-shadow: 0 0 0 3px var(--color-focus-ring), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}
select option,
select optgroup {
color: rgb(15 23 42);
background-color: rgb(248 250 252);
}
select option:checked {
background-color: rgb(224 242 254);
}
.dark select {
color: rgb(248 250 252);
background-color: rgba(15, 23, 42, 0.82) !important;
border-color: rgba(255, 255, 255, 0.18);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 14px 40px rgba(0, 0, 0, 0.22);
}
.dark select option,
.dark select optgroup {
color: rgb(248 250 252);
background-color: rgb(15 23 42);
}
.dark select option:checked {
background-color: rgb(30 41 59);
}
.liquid-glass {
border: 1px solid var(--color-border);
background:
linear-gradient(135deg, rgba(255, 255, 255, var(--glass-light-alpha-strong)), rgba(226, 238, 249, var(--glass-light-alpha-soft))),
linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(148, 163, 184, 0.08));
box-shadow: 0 24px 80px rgba(15, 23, 42, 0.14), 0 2px 16px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.62);
backdrop-filter: blur(var(--glass-blur, 26px)) saturate(1.35);
-webkit-backdrop-filter: blur(var(--glass-blur, 26px)) saturate(1.35);
}
.dark .liquid-glass {
border-color: var(--color-border);
background: linear-gradient(135deg, rgba(16, 24, 39, var(--glass-dark-alpha-strong)), rgba(16, 24, 39, var(--glass-dark-alpha-soft)));
box-shadow: 0 24px 90px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.ui-surface {
border: 1px solid var(--color-border);
background: var(--color-surface);
color: var(--color-text);
box-shadow: var(--shadow-soft);
backdrop-filter: blur(22px) saturate(1.24);
-webkit-backdrop-filter: blur(22px) saturate(1.24);
}
.ui-card {
border: 1px solid var(--color-border);
background: var(--color-card);
color: var(--color-text);
}
.ui-elevated {
border: 1px solid var(--color-border);
background: var(--color-elevated);
color: var(--color-text);
box-shadow: var(--shadow-elevated);
backdrop-filter: blur(24px) saturate(1.26);
-webkit-backdrop-filter: blur(24px) saturate(1.26);
}
.ui-muted {
color: var(--color-text-muted);
}
.ui-secondary {
color: var(--color-text-secondary);
}
.ui-input {
border: 1px solid var(--color-input-border);
background: var(--color-input-bg);
color: var(--color-text);
}
.ui-input::placeholder {
color: var(--color-text-muted);
}
.ui-focus {
outline: none;
box-shadow: 0 0 0 3px var(--color-focus-ring);
}
.mac-scrollbar {
scrollbar-width: thin;
scrollbar-color: rgba(148, 163, 184, 0.8) transparent;
}
.mac-scrollbar::-webkit-scrollbar {
width: 8px;
}
.mac-scrollbar::-webkit-scrollbar-thumb {
border-radius: 99px;
background: rgba(148, 163, 184, 0.7);
}
.persian-digits {
font-feature-settings: "ss01";
}
.modern-range {
--range-value: 72%;
appearance: none;
-webkit-appearance: none;
cursor: pointer;
border-radius: 999px;
background: transparent;
direction: ltr;
}
.modern-range::-webkit-slider-runnable-track {
height: 7px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.36);
background:
linear-gradient(90deg, rgb(14 165 233) 0 var(--range-value), rgba(255, 255, 255, 0.36) var(--range-value) 100%);
box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.14), 0 5px 16px rgba(14, 165, 233, 0.12);
}
.modern-range::-webkit-slider-thumb {
-webkit-appearance: none;
height: 14px;
width: 14px;
margin-top: -4.5px;
border-radius: 999px;
border: 2px solid rgba(255, 255, 255, 0.94);
background: linear-gradient(135deg, #ffffff, #dff7ff);
box-shadow: 0 5px 14px rgba(15, 23, 42, 0.2), 0 0 0 1px rgba(14, 165, 233, 0.18);
}
.modern-range::-moz-range-track {
height: 7px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.42);
background: rgba(255, 255, 255, 0.36);
}
.modern-range::-moz-range-progress {
height: 7px;
border-radius: 999px;
background: rgb(14 165 233);
}
.modern-range::-moz-range-thumb {
height: 12px;
width: 12px;
border-radius: 999px;
border: 2px solid rgba(255, 255, 255, 0.92);
background: linear-gradient(135deg, #ffffff, #dff7ff);
box-shadow: 0 5px 14px rgba(15, 23, 42, 0.2);
}