development branch created to preserve working deploy project

This commit is contained in:
2025-08-02 17:37:16 +03:00
parent 5e65ea0f7c
commit e824e87953
659 changed files with 90008 additions and 137 deletions
+59
View File
@@ -0,0 +1,59 @@
body {
display: flex;
height: 100vh;
overflow: hidden;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #F2E8DB; /* Add this */
margin: 0;
}
.content-area {
flex: 1;
overflow-y: auto;
}
.top-nav {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.nav-container {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 1.5rem;
}
.nav-right {
display: flex;
align-items: center;
gap: 1rem;
}
.page-title {
font-size: 1.25rem;
font-weight: 600;
color: #1a202c;
margin: 0;
}
.icon-button {
background: none;
border: none;
cursor: pointer;
color: #718096;
padding: 0.5rem;
transition: color 0.2s;
}
.icon-button:hover {
color: #4a5568;
}
.icon {
width: 1.5rem;
height: 1.5rem;
}
.content {
padding: 1.5rem;
}
+92
View File
@@ -0,0 +1,92 @@
/* === Layout === */
.layout-root {
display: flex;
height: 100vh;
overflow: hidden;
}
/* === Sidebar === */
.sidebar {
width: 16rem;
height: 100%;
color: white;
display: flex;
flex-direction: column;
background: linear-gradient(180deg, #0f4c81 0%, #1a6baf 100%);
transition: all 0.3s;
}
.sidebar-header {
padding: 1.25rem;
border-bottom: 1px solid #2b6cb0;
}
.sidebar-title {
font-size: 1.25rem;
font-weight: 700;
}
.sidebar-subtitle {
font-size: 0.875rem;
color: #bfdbfe;
}
.nav-section {
padding: 1rem 0;
flex-grow: 1;
}
.nav-label {
padding: 0.5rem 1rem;
font-size: 0.75rem;
text-transform: uppercase;
color: #93c5fd;
letter-spacing: 0.05em;
}
.nav-item {
display: flex;
align-items: center;
padding: 0.75rem 1.5rem;
color: white;
transition: all 0.2s;
text-decoration: none;
}
.nav-item:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.nav-item.active {
background-color: rgba(255, 255, 255, 0.2);
border-left: 4px solid white;
}
.nav-icon {
width: 1.25rem;
height: 1.25rem;
margin-right: 0.75rem;
}
.user-profile {
padding: 1rem;
border-top: 1px solid #2b6cb0;
display: flex;
align-items: center;
}
.user-avatar {
width: 2.5rem;
height: 2.5rem;
border-radius: 9999px;
background-color: #3b82f6;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
color: white;
}
.user-details {
margin-left: 0.75rem;
}
.user-name {
font-size: 0.875rem;
font-weight: 500;
}
.user-role {
font-size: 0.75rem;
color: #bfdbfe;
}
.logout-button {
margin-left: auto;
color: white;
}
+116
View File
@@ -0,0 +1,116 @@
.dashboard-wrapper {
padding: 1.5rem;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
margin-bottom: 1.5rem;
}
.tables-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 1.5rem;
}
.dashboard-card {
/*background-color: #ece1d8;*/
border: 1px solid #a57d52;
border-radius: 0.5rem;
padding: 1.5rem;
}
.card-content {
display: flex;
align-items: center;
}
.icon-circle {
padding: 0.75rem;
border-radius: 50%;
background-color: #ead9cb;
margin-right: 1rem;
}
.dashboard-icon {
width: 2rem;
height: 2rem;
stroke: #a57d52;
}
.stat-info h3 {
font-size: 1.125rem;
font-weight: 600;
/*color: #a57d52;*/
margin: 0;
}
.stat-number {
font-size: 1.875rem;
font-weight: bold;
/*color: #a57d52;*/
margin: 0.25rem 0;
}
.stat-change {
font-size: 0.875rem;
color: #68a357;
margin: 0;
}
.card-header {
padding-bottom: 1rem;
border-bottom: 1px solid #a57d52;
margin-bottom: 1rem;
}
.card-header h3 {
font-size: 1.125rem;
font-weight: 600;
/*color: #a57d52;*/
margin: 0;
}
/*.dashboard-table {*/
/* width: 100%;*/
/* border-collapse: collapse;*/
/*}*/
/*.dashboard-table th {*/
/* text-align: left;*/
/* padding: 0.75rem;*/
/* font-size: 0.75rem;*/
/* text-transform: uppercase;*/
/* !*color: #a57d52;*!*/
/*}*/
/*.dashboard-table td {*/
/* padding: 0.75rem;*/
/* font-size: 0.875rem;*/
/* !*color: #666;*!*/
/*}*/
/*.status-tag {*/
/* display: inline-block;*/
/* padding: 0.25rem 0.75rem;*/
/* border-radius: 9999px;*/
/* font-size: 0.75rem;*/
/* font-weight: 600;*/
/*}*/
/*.status-received {*/
/* background-color: #e8f5e9;*/
/* color: #2e7d32;*/
/*}*/
/*.status-pending {*/
/* background-color: #fff3e0;*/
/* color: #ef6c00;*/
/*}*/
/*.status-overdue {*/
/* background-color: #ffebee;*/
/* color: #c62828;*/
/*}*/
+97
View File
@@ -0,0 +1,97 @@
.search-card {
background: #EDDECB;
border: 1px solid #E1C6A8;
border-radius: 8px;
margin-bottom: 1.5rem;
}
.search-body {
padding: 1rem;
}
.search-group {
display: flex;
gap: 0.5rem;
}
.search-button {
flex-shrink: 0;
}
/*.btn-primary {*/
/* background: #EDDECB;*/
/* color: white;*/
/* border: none;*/
/* padding: 0.5rem 1rem;*/
/* border-radius: 8px;*/
/* cursor: pointer;*/
/*}*/
/*.btn-primary:hover {*/
/* background: #0056b3;*/
/*}*/
.details-card {
background: #EDDECB;
border: 1px solid #E1C6A8;
border-radius: 8px;
margin-bottom: 1.5rem;
}
.card-header {
background: #E1C6A8;
padding: 1rem;
border-bottom: 1px solid #E1C6A8;
}
.card-header h5 {
margin: 0;
font-size: 1.1rem;
}
.details-body {
padding: 1rem;
}
.details-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
.details-column {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.detail-row {
display: flex;
align-items: center;
gap: 1rem;
}
.detail-label {
flex: 0 0 45%;
text-align: right;
font-weight: bold;
color: #555;
}
.detail-value {
flex: 1;
}
/* Form styling */
input[type="text"] {
padding: 0.5rem;
border: 1px solid #ddd;
border-radius: 4px;
width: 100%;
}
input[type="text"]:focus {
outline: none;
border-color: #007bff;
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}
+355
View File
@@ -0,0 +1,355 @@
/* Basic form styling */
:root {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 16px;
font-weight: 600; /* Makes all text semi-bold by default */
line-height: 1.5;
}
form {
max-width: 600px;
margin: 20px auto;
padding: 20px;
/*background-color: #ead9cb;; !* Add this line *!*/
border-radius: 8px; /* Optional: for better appearance */
/*box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);*/
border: 1px solid #a57d52;
/*border-width: 3px;*/
/*border-color: #00aaff;*/
}
/* Label styling */
label {
display: block;
margin-bottom: 2px;
/*font-weight: 500;*/
color: #a57d52;
}
/* Input field styling */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="number"],
select {
width: 100%;
padding: 8px;
margin-bottom: 0px;
border: 1px solid #a57d52;
border-radius: 4px;
box-sizing: border-box;
font-family: "Noto Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 1.1rem;
font-variation-settings:
"wdth" 100;
}
textarea {
width: 100%;
padding: 8px;
margin-bottom: 0px;
border: 1px solid #a57d52;
border-radius: 4px;
box-sizing: border-box;
font-family: "Noto Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 1.1rem;
font-variation-settings:
"wdth" 100;
height: 100px; /* Adjust height as needed */
min-height: 100px; /* Minimum height */
resize: vertical; /* Allow vertical resizing */
}
/* Submit button styling */
button[type="submit"],
button.btn-primary,
button.btn-secondary {
background-color: #F2E8DB;
padding: 10px 20px;
border: 1px solid #a57d52;
border-radius: 4px;
cursor: pointer;
/*background-color: #702222;*/
/*padding: 6px 20px; !* Reduced from 10px to 6px *!*/
/*border: 1px solid #ae3975;*/
/*border-radius: 4px;*/
/*cursor: pointer;*/
/*height: 32px; !* Add explicit height *!*/
/*line-height: 1.2; !* Add line height for better text alignment *!*/
}
button[type="submit"]:hover,
button.btn-primary:hover,
button.btn-secondary:hover{
background-color: #EDDECB;
}
.btn.active {
background-color: #a57d52;
color: #fff;
border-color: #a57d52;
}
/* Error messages */
.errorlist {
color: #dc3545;
list-style: none;
padding: 0;
margin: 5px 0;
font-size: 0.9em;
}
/* Help text */
.helptext {
color: #666;
font-size: 0.9em;
margin-bottom: 10px;
display: block;
}
.card {
margin-top: 24px;
background-color: #EDDECB;
border-radius: 8px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.card-header {
padding: 16px 24px;
border-bottom: 1px solid #ddd;
}
.card-header h3 {
margin: 0;
font-size: 18px;
font-weight: bold;
color: #333;
}
.card-body {
padding: 15px;
overflow-x: auto; /* Allow horizontal scroll if table is wide */
}
.table-container {
overflow-x: auto;
}
/*table {*/
/* width: 100%;*/
/* border-collapse: collapse;*/
/*}*/
/*thead {*/
/* background-color: #f9f9f9;*/
/*}*/
/*th, td {*/
/* padding: 12px 16px;*/
/* text-align: left;*/
/* font-size: 14px;*/
/*}*/
/*th {*/
/* font-weight: bold;*/
/* text-transform: uppercase;*/
/* color: #666;*/
/* border-bottom: 1px solid #ddd;*/
/*}*/
/*tbody tr {*/
/* border-bottom: 1px solid #eee;*/
/*}*/
/* Rename dashboard-table to match exactly with your HTML */
/*.dashboard-table,*/
/*table {*/
/* border-collapse: separate;*/
/* border-spacing: 0;*/
/* margin: 10px auto;*/
/* width: 100%;*/
/* border: 1px solid #E1C6A8; !* Make border more visible *!*/
/* border-radius: 10px;*/
/* overflow: hidden;*/
/* line-height: 1.2;*/
/*}*/
/*!* Keep header and footer styles *!*/
/*thead {*/
/* background-color: #E1C6A8;*/
/*}*/
/*tfoot {*/
/* background-color: #E1C6A8;*/
/*}*/
/*!* Update cell styles *!*/
/*.dashboard-table th,*/
/*.dashboard-table td,*/
/*table th,*/
/*table td {*/
/* padding: 8px;*/
/* text-align: center;*/
/* border-right: 1px solid #E1C6A8; !* Add vertical borders *!*/
/* border-bottom: 1px solid #E1C6A8; !* Add horizontal borders *!*/
/*}*/
/*!* Remove right border from last cell in each row *!*/
/*.dashboard-table th:last-child,*/
/*.dashboard-table td:last-child,*/
/*table th:last-child,*/
/*table td:last-child {*/
/* border-right: none;*/
/*}*/
/*!* Remove bottom border from last row cells *!*/
/*.dashboard-table tr:last-child td,*/
/*table tr:last-child td {*/
/* border-bottom: none;*/
/*}*/
/*.footer-container {*/
/* display: flex;*/
/* justify-content: space-between;*/
/* align-items: center;*/
/*}*/
/*.footer-left button,*/
/*.footer-right button {*/
/* margin: 0 3px;*/
/* padding: 3px 6px;*/
/* font-size: 12px;*/
/*}*/
/*.page-number {*/
/* margin: 0 10px;*/
/* font-weight: bold;*/
/*}*/
/*.status {*/
/* display: inline-block;*/
/* padding: 4px 8px;*/
/* font-size: 12px;*/
/* font-weight: bold;*/
/* border-radius: 12px;*/
/* background-color: #e0f0ff;*/
/* color: #0066cc;*/
/*}*/
/*.actions button {*/
/* background: none;*/
/* border: none;*/
/* color: #0066cc;*/
/* font-size: 14px;*/
/* cursor: pointer;*/
/* margin-right: 10px;*/
/*}*/
/*.actions button:hover {*/
/* color: #004999;*/
/*}*/
/*.actions button:last-child {*/
/* color: #cc0000;*/
/* margin-right: 0;*/
/*}*/
/*.actions button:last-child:hover {*/
/* color: #990000;*/
/*}*/
/* Update dashboard card styles */
.dashboard-card {
margin: 15px;
background-color: white;
border-radius: 10px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
overflow: hidden; /* Ensure content doesn't overflow */
}
.filter-form {
background-color: #f8f9fa;
padding: 1rem;
border-radius: 0.25rem;
margin-bottom: 1rem;
}
.filter-form form {
display: flex;
align-items: center;
gap: 1rem;
max-width: none;
width: 100%;
}
.filter-form .form-group {
display: flex;
align-items: center;
margin-bottom: 0;
}
.filter-form .form-control {
width: auto;
min-width: 200px;
}
.me-2 {
margin-right: 0.5rem;
}
.filter-form span {
display: flex;
align-items: center;
width: 100%;
}
@media print {
/* Hide sidebar */
.sidebar {
display: none !important;
}
/* Make main content full width */
.main-content {
margin-left: 0 !important;
width: 100% !important;
}
/* Hide other non-printable elements if needed */
.no-print {
display: none !important;
}
/* Ensure white background and black text */
body {
background: white !important;
color: black !important;
}
/* Remove shadows and borders */
* {
box-shadow: none !important;
border: none !important;
}
}
#filterForm {
border: none !important;
margin: 0 !important;
padding: 0 !important;
}
+122
View File
@@ -0,0 +1,122 @@
.sidebar {
width: 16rem;
height: 100%;
display: flex;
flex-direction: column;
}
.header {
padding: 1.25rem;
border-bottom: 1px solid #a57d52;
}
.header h1 {
font-size: 1.25rem;
font-weight: bold;
/*color: #a57d52;*/
}
.subtitle {
font-size: 0.875rem;
/*color: #a57d52;*/
}
.section-title {
padding: 0.5rem 1rem;
font-size: 0.75rem;
/*color: #a57d52;*/
text-transform: uppercase;
letter-spacing: 0.05em;
}
.nav-item {
display: flex;
align-items: center;
padding: 0.75rem 1.5rem;
text-decoration: none;
border-radius: 0.5rem;
margin: 0 0.5rem;
}
.nav-item:hover {
border: 1px solid #a57d52;
background-color: transparent;
}
.nav-item.active {
background-color: rgba(165, 125, 82, 0.1);
}
.nav-menu {
flex: 1 1 auto; /* Changed from flex-grow: 1 */
padding: 1rem 0;
}
.icon {
height: 1.25rem;
width: 1.25rem;
margin-right: 0.75rem;
stroke: currentColor;
}
.user-profile {
margin-top: auto; /* Added this line */
padding: 1rem;
border-top: 1px solid #a57d52;
display: flex;
align-items: center;
}
.avatar {
width: 2.5rem;
height: 2.5rem;
background-color: #a57d52;
color: #ead9cb;
border-radius: 9999px;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}
.user-info {
margin-left: 0.75rem;
}
.username {
font-size: 0.875rem;
font-weight: 500;
/*color: #a57d52;*/
}
.company {
font-size: 0.75rem;
/*color: #a57d52;*/
}
.logout {
margin-left: auto;
color: #a57d52;
padding: 0.5rem;
border-radius: 0.5rem;
}
.link-no-style {
text-decoration: none;
color: inherit;
border: none;
}
.link-no-style:hover {
border: 1px solid #a57d52;
}
.logout:hover {
border: 1px solid #a57d52;
}
a.nav-item,
a.nav-item:visited,
a.nav-item:hover,
a.nav-item:active {
color: inherit; /* or specify your desired color */
text-decoration: none;
}
+203
View File
@@ -0,0 +1,203 @@
body {
/*background: linear-gradient(135deg, #EDDECB 0%, #E1C6A8 100%);*/
min-height: 100vh;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
background-color: #ead9cb;
}
.wave {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100px;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ffffff' fill-opacity='0.3' d='M0,192L48,197.3C96,203,192,213,288,229.3C384,245,480,267,576,250.7C672,235,768,181,864,181.3C960,181,1056,235,1152,234.7C1248,235,1344,181,1392,154.7L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
background-size: cover;
background-repeat: no-repeat;
z-index: -1;
}
.login-container {
background-color: #ead9cb;
border-radius: 0.75rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
overflow: hidden;
max-width: 56rem;
width: 100%;
display: flex;
flex-direction: column;
animation: fadeIn 0.8s ease-in-out;
margin: 2rem; /* Add margin to see the background */
}
@media (min-width: 768px) {
.login-container {
flex-direction: row;
}
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(-20px); }
to { opacity: 1; transform: translateY(0); }
}
.login-form-section {
width: 100%;
padding: 2rem;
}
@media (min-width: 768px) {
.login-form-section {
width: 50%;
}
}
.info-section {
width: 100%;
background: linear-gradient(to bottom right, #EDDECB, #E1C6A8);
padding: 2rem;
color: white;
display: flex;
flex-direction: column;
justify-content: space-between;
}
@media (min-width: 768px) {
.info-section {
width: 50%;
}
}
h1 {
font-size: 1.875rem;
font-weight: bold;
color: #1f2937;
margin-bottom: 0.5rem;
}
.subtitle {
color: #4b5563;
margin-top: 0.5rem;
}
.form-group {
margin-bottom: 1.5rem;
}
label {
display: block;
font-size: 0.875rem;
font-weight: 500;
color: #374151;
margin-bottom: 0.25rem;
}
input[type="text"],
input[type="password"] {
width: 100%;
padding: 0.5rem 1rem;
border: 1px solid #d1d5db;
border-radius: 0.375rem;
outline: none;
box-sizing: border-box;
}
input[type="text"]:focus,
input[type="password"]:focus {
border-color: #E1C6A8;
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
.remember-forgot {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1.5rem;
}
.remember-me {
display: flex;
align-items: center;
}
.remember-me input {
margin-right: 0.5rem;
}
.forgot-password {
color: #E1C6A8;
text-decoration: none;
font-size: 0.875rem;
}
.forgot-password:hover {
color: #E1C6A8;
}
.submit-button {
width: 100%;
background-color: #E1C6A8;
color: white;
padding: 0.5rem 1rem;
border: none;
border-radius: 0.375rem;
cursor: pointer;
transition: background-color 0.2s;
}
.submit-button:hover {
background-color: #E1C6A8;
}
.feature-item {
display: flex;
align-items: flex-start;
margin-bottom: 1rem;
}
.feature-icon {
background-color: rgba(37, 99, 235, 0.5);
padding: 0.5rem;
border-radius: 9999px;
margin-right: 0.75rem;
}
.feature-text {
color: rgba(219, 234, 254, 0.9);
font-size: 0.875rem;
}
.version-info {
display: flex;
align-items: center;
gap: 0.5rem;
margin-top: 2rem;
font-size: 0.875rem;
}
#loginMessage {
text-align: center;
margin-top: 1rem;
display: none;
}
#loginMessage.error {
color: #ef4444;
}
#loginMessage.success {
color: #10b981;
}
.icon {
width: 1.5rem;
height: 1.5rem;
}
+182
View File
@@ -0,0 +1,182 @@
table {
width: 100%;
border-collapse: collapse;
}
thead {
background-color: #f9f9f9;
}
th, td {
padding: 12px 16px;
text-align: left;
font-size: 14px;
}
th {
font-weight: bold;
text-transform: uppercase;
color: #666;
border-bottom: 1px solid #ddd;
}
tbody tr {
border-bottom: 1px solid #eee;
}
.dashboard-table,
table td {
text-align: center;
}
.dashboard-table,
table td.td-left {
text-align: left;
}
.dashboard-table,
table td.td-right {
text-align: right;
}
/*Rename dashboard-table to match exactly with your HTML */
.dashboard-table,
table {
border-collapse: separate;
border-spacing: 0;
margin: 10px auto;
width: 100%;
border: 1px solid #E1C6A8; /* Make border more visible */
border-radius: 10px;
overflow: hidden;
line-height: 1.2;
}
/* Keep header and footer styles */
thead {
background-color: #E1C6A8;
}
tfoot {
background-color: #E1C6A8;
}
/* Update cell styles */
.dashboard-table th,
.dashboard-table td,
table th,
table td {
padding: 8px;
border-right: 1px solid #E1C6A8; /* Add vertical borders */
border-bottom: 1px solid #E1C6A8; /* Add horizontal borders */
}
/* Remove right border from last cell in each row */
.dashboard-table th:last-child,
.dashboard-table td:last-child,
table th:last-child,
table td:last-child {
border-right: none;
}
/* Remove bottom border from last row cells */
.dashboard-table tr:last-child td,
table tr:last-child td {
border-bottom: none;
}
.footer-container {
display: flex;
justify-content: space-between;
align-items: center;
}
.footer-left button,
.footer-right button {
margin: 0 3px;
padding: 3px 6px;
font-size: 12px;
}
.page-number {
margin: 0 10px;
font-weight: bold;
}
.selectable-row {
cursor: pointer;
}
.selected-row {
background-color: #EDDECB;
}
.btn[disabled] {
opacity: 0.5;
cursor: not-allowed;
}
.status {
display: inline-block;
padding: 4px 8px;
font-size: 12px;
font-weight: bold;
border-radius: 12px;
background-color: #e0f0ff;
color: #0066cc;
}
.actions button {
background: none;
border: none;
color: #0066cc;
font-size: 14px;
cursor: pointer;
margin-right: 10px;
}
.actions button:hover {
color: #004999;
}
.actions button:last-child {
color: #cc0000;
margin-right: 0;
}
.actions button:last-child:hover {
color: #990000;
}
.status-ok {
color: #afddc0; /* green */
font-weight: 600;
}
.status-deleted {
color: #e49486; /* green */
font-weight: 600;
}
.status-inactive {
color: #b2b5b3; /* green */
font-weight: 600;
}
.invalid-container {
color: #df6161; /* red */
font-weight: 600;
}
.validation-feedback {
color: #dc2626;
font-size: 0.875rem;
margin-top: 0.25rem;
}
input.invalid-container {
border-color: #dc2626;
background-color: #fee2e2;
}
input.incomplete-container {
background-color: #fbf3a2; /* red */
border-color: #dc2626;
}