scheduler / style.css
Sahanabg's picture
Upload 8 files
c910874 verified
/* style.css */
/* Reset & Font */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: 'Inter', sans-serif;
}
/* Page background */
body {
background: #f0f1f5;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 2rem;
}
/* Logo */
.logo {
position: fixed;
top: 20px;
left: 20px;
width: 140px;
height: auto;
z-index: 1000;
}
/* Card container */
.container {
background: #ffffff;
padding: 2.5rem;
border-radius: 16px;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
width: 100%;
max-width: 420px;
text-align: center;
}
/* Title heading */
h2 {
font-size: 2rem;
font-weight: 600;
color: #1a1a1a;
margin-bottom: 2rem;
line-height: 1.3;
}
/* Input fields & dropdown */
form input,
form select {
display: block;
width: 100%;
padding: 0.75rem 1rem;
font-size: 1rem;
font-weight: 400;
margin-bottom: 1rem;
border: 1px solid #d0d4d9;
border-radius: 10px;
background: #ffffff;
color: #1a1a1a;
transition: border 0.2s ease;
}
form input::placeholder {
color: #a0aec0;
font-weight: 400;
}
form input:focus,
form select:focus {
border-color: #000000;
box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.2);
outline: none;
}
/* Buttons */
form button,
#bookBtn {
width: 100%;
padding: 0.75rem 1rem;
background: #000000;
color: #ffffff;
font-weight: 600;
font-size: 1rem;
border: none;
border-radius: 10px;
cursor: pointer;
transition: background 0.3s ease;
}
form button:hover,
#bookBtn:hover {
background: #1a1a1a;
}
/* Spinner */
#spinner {
margin: 1rem auto;
width: 32px;
height: 32px;
border: 4px solid #ccc;
border-top: 4px solid #000000;
border-radius: 50%;
animation: spin 1s linear infinite;
display: none;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
/* Status message */
#status {
display: none;
margin-top: 1rem;
padding: 0.75rem 1rem;
text-align: center;
font-size: 0.95rem;
border-radius: 8px;
}
.status-info {
background: #e6f0ff;
color: #1e4b91;
}
.status-success {
background: #e6ffed;
color: #2e7d32;
}
.status-error {
background: #ffe6e6;
color: #c62828;
}
/* Confirmation */
#confirmation {
display: none;
margin-top: 2rem;
background: #f0fff4;
border-left: 5px solid #52c41a;
padding: 1rem;
border-radius: 10px;
opacity: 0;
transform: translateY(20px);
transition: all 0.4s ease;
}
#confirmation.visible {
display: block;
opacity: 1;
transform: translateY(0);
}
#confirmation h3 {
color: #2e7d32;
margin-bottom: 0.5rem;
}
#confirmation p {
margin: 0.25rem 0;
}
/* Utility */
.hidden {
display: none;
}
/* Responsive padding for smaller screens */
@media (max-width: 480px) {
.container {
padding: 1.5rem;
}
}