Midday / apps /dashboard /src /styles /globals.css
Jules
Final deployment with all fixes and verified content
c09f67c
html,
body {
height: 100%;
}
*:focus {
outline: none;
}
.skeleton-box {
background-color: hsl(var(--border));
color: hsl(var(--border));
user-select: none;
cursor: default;
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
border-color: transparent;
}
.skeleton-circle {
background-color: hsl(var(--border));
border-radius: 1000px;
color: hsl(var(--border));
user-select: none;
cursor: default;
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
border-color: transparent;
}
.skeleton-circle > *,
.skeleton-box > *,
.skeleton-line > * {
opacity: 0;
}
.pin-field-container {
display: grid;
grid-auto-columns: max-content;
grid-auto-flow: column;
justify-content: center;
margin: 4rem 0;
}
.pin-field {
border: 1px solid hsl(var(--border));
background-color: hsl(var(--accent));
border-right: none;
font-size: 2rem;
height: 4rem;
outline: none;
text-align: center;
transition-duration: 250ms;
transition-property: color, border, box-shadow, transform;
width: 4rem;
}
.pin-field:last-of-type {
border-radius: 0 0.5rem 0.5rem 0;
border-right: 1px solid hsl(var(--border));
}
.pin-field:focus {
box-shadow: "0 0 0.25rem rgba(white, 0.5)";
opacity: 0.9;
outline: none;
}
.invalid {
animation: shake 0.2s ease-in-out 0s 2;
}
.pin-field:first-of-type {
border-radius: 0.5rem 0 0 0.5rem;
}
.pin-field[disabled] {
cursor: not-allowed;
opacity: 0.5;
}
@keyframes shake {
0% {
transform: translateX(0rem);
}
25% {
transform: translateX(0.5rem);
}
75% {
transform: translateX(-0.5rem);
}
100% {
transform: translateX(0rem);
}
}
/* Desktop App */
html.desktop {
background: transparent;
user-select: none;
-webkit-user-select: none;
overscroll-behavior: none;
border-radius: 10px;
overflow: hidden;
height: 100vh;
width: 100vw;
position: fixed;
top: 0;
left: 0;
-webkit-touch-callout: none;
-webkit-tap-highlight-color: transparent;
}
html.desktop body {
position: relative;
background: hsl(var(--background));
overscroll-behavior: none;
margin: 0;
padding: 0;
box-sizing: border-box;
height: 100vh;
width: 100%;
overflow: auto;
}
html.desktop body::before {
content: "";
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0.5px solid rgba(0, 0, 0, 0.15);
border-radius: 10px;
z-index: 100;
pointer-events: none;
}
html.desktop.dark body::before {
border: 0.5px solid rgba(255, 255, 255, 0.15);
}
html.desktop .wrapper::-webkit-scrollbar,
html.desktop::-webkit-scrollbar,
html.desktop body::-webkit-scrollbar {
display: none; /* Chrome, Safari, Opera */
}
.desktop div,
.desktop a,
.desktop button {
cursor: default;
}
.color-picker .react-colorful {
height: 240px;
}
.color-picker .react-colorful__saturation {
border-radius: 4px 4px 0 0;
}
.color-picker .react-colorful__hue {
height: 40px;
border-radius: 0 0 4px 4px;
}
.color-picker .react-colorful__hue-pointer {
width: 8px;
height: inherit;
}
.color-picker .react-colorful__pointer {
width: 15px;
height: 15px;
}
.color-picker .react-colorful__hue {
height: 20px;
}
.remove-arrow::-webkit-inner-spin-button,
.remove-arrow::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.remove-arrow {
appearance: textfield;
}
input[type="time"]::-webkit-clear-button {
display: none;
}
input[type="time"]::-webkit-calendar-picker-indicator {
display: none;
}
.invoice-editor,
.invoice-editor div[aria-expanded="false"],
.invoice-editor .ProseMirror,
.invoice-editor .is-empty {
height: 100%;
}
.ProseMirror-focused p.is-editor-empty:first-child::before {
content: attr(data-placeholder);
float: left;
color: #434343;
pointer-events: none;
height: 0;
}
.tiptap {
font-size: 11px;
line-height: 18px;
}
.dark .dotted-bg {
background-image: radial-gradient(
circle at 1px 1px,
#232323 0.5px,
transparent 0
);
background-size: 6px 6px;
}
.light .dotted-bg {
background-size: 6px 6px;
background-image: radial-gradient(
circle at 1px 1px,
#e0e0e0 0.5px,
transparent 0
);
}
.global-search-list {
height: min(450px, var(--search-list-height));
overscroll-behavior: contain;
transition: 100ms ease;
transition-property: height;
}
.desktop-search .global-search-list {
height: 450px;
}
.desktop-search .search-container {
border: none;
border-bottom: 0.5px solid hsl(var(--border));
}
.desktop-search .search-footer {
border-left: 0px;
border-right: 0px;
border-bottom: 0px;
border-top: 1px;
}
/* Wiggle Animations for Customize Mode - Faster & Smaller Movements */
@keyframes wiggle1 {
0%,
100% {
transform: rotate(0deg);
}
20% {
transform: rotate(0.6deg);
}
40% {
transform: rotate(-0.4deg);
}
60% {
transform: rotate(0.7deg);
}
80% {
transform: rotate(-0.5deg);
}
}
@keyframes wiggle2 {
0%,
100% {
transform: rotate(0deg);
}
15% {
transform: rotate(-0.6deg);
}
35% {
transform: rotate(0.5deg);
}
55% {
transform: rotate(-0.4deg);
}
75% {
transform: rotate(0.7deg);
}
}
@keyframes wiggle3 {
0%,
100% {
transform: rotate(0deg);
}
25% {
transform: rotate(0.4deg);
}
45% {
transform: rotate(-0.6deg);
}
65% {
transform: rotate(0.6deg);
}
85% {
transform: rotate(-0.3deg);
}
}
@keyframes wiggle4 {
0%,
100% {
transform: rotate(0deg);
}
18% {
transform: rotate(0.7deg);
}
38% {
transform: rotate(-0.5deg);
}
58% {
transform: rotate(0.4deg);
}
78% {
transform: rotate(-0.6deg);
}
}
@keyframes wiggle5 {
0%,
100% {
transform: rotate(0deg);
}
22% {
transform: rotate(-0.5deg);
}
42% {
transform: rotate(0.6deg);
}
62% {
transform: rotate(-0.7deg);
}
82% {
transform: rotate(0.5deg);
}
}
@keyframes wiggle6 {
0%,
100% {
transform: rotate(0deg);
}
28% {
transform: rotate(0.5deg);
}
48% {
transform: rotate(-0.4deg);
}
68% {
transform: rotate(0.6deg);
}
88% {
transform: rotate(-0.7deg);
}
}
@keyframes wiggle7 {
0%,
100% {
transform: rotate(0deg);
}
16% {
transform: rotate(-0.6deg);
}
36% {
transform: rotate(0.7deg);
}
56% {
transform: rotate(-0.4deg);
}
76% {
transform: rotate(0.5deg);
}
}
.wiggle-1 {
animation: wiggle1 1.2s linear infinite;
}
.wiggle-2 {
animation: wiggle2 1.3s linear infinite;
}
.wiggle-3 {
animation: wiggle3 1.1s linear infinite;
}
.wiggle-4 {
animation: wiggle4 1.25s linear infinite;
}
.wiggle-5 {
animation: wiggle5 1.35s linear infinite;
}
.wiggle-6 {
animation: wiggle6 1.15s linear infinite;
}
.wiggle-7 {
animation: wiggle7 1.4s linear infinite;
}
/* Chat input positioning for small viewport heights on homepage */
@media (max-height: 860px) {
.chat-input-wrapper-static {
position: relative;
bottom: auto;
left: 0;
right: 0;
width: 100%;
margin-top: auto;
margin-bottom: 0;
}
.chat-input-static {
position: relative;
bottom: 30px;
left: 0;
right: 0;
width: 100%;
margin-top: 1.5rem;
margin-bottom: 1.5rem;
}
.widgets-container-spacing {
padding-bottom: 0px;
}
/* Allow scrolling when chat input is not fixed */
.chat-interface-container-scrollable {
overflow-y: auto;
overflow-x: hidden;
height: auto;
min-height: calc(100vh - 764px);
}
}
/* Chart selection overlay - exclude labels from background effect */
/* Ensure chart axis labels are not affected by the overlay */
.recharts-wrapper .recharts-xAxis .recharts-cartesian-axis-tick text,
.recharts-wrapper .recharts-yAxis .recharts-cartesian-axis-tick text {
position: relative;
z-index: 10;
user-select: none;
pointer-events: none;
isolation: isolate;
}
/* Ensure the overlay doesn't affect labels */
.chart-selection-overlay {
isolation: isolate;
}
/* Dark mode support for chart selection overlay */
.dark .chart-selection-overlay {
background: rgba(255, 255, 255, 0.08);
}
.dark .chart-selection-border {
border-left-color: #999999;
}