/* Reset and base styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; background-color: #f5f7fa; } .container { width: 90%; max-width: 1200px; margin: 0 auto; padding: 0 15px; } /* Header styles */ header { background-color: #2c3e50; color: white; padding: 1rem 0; margin-bottom: 2rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } header h1 { font-size: 1.8rem; margin-bottom: 0.5rem; } nav ul { display: flex; list-style: none; } nav ul li { margin-right: 1rem; } nav ul li a { color: white; text-decoration: none; font-weight: 500; transition: color 0.3s; } nav ul li a:hover { color: #3498db; } /* Main content styles */ main { min-height: calc(100vh - 180px); padding: 2rem 0; } h2 { color: #2c3e50; margin-bottom: 1.5rem; font-weight: 600; } /* Card styles */ .card { background-color: white; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); padding: 1.5rem; margin-bottom: 1.5rem; } /* Form styles */ .form-group { margin-bottom: 1.5rem; } label { display: block; margin-bottom: 0.5rem; font-weight: 500; } input[type="text"], input[type="email"], input[type="number"], input[type="date"], textarea, select { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; transition: border-color 0.3s; } input[type="text"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="date"]:focus, textarea:focus, select:focus { border-color: #3498db; outline: none; } /* Button styles */ .btn { display: inline-block; background-color: #3498db; color: white; padding: 0.75rem 1.5rem; border: none; border-radius: 4px; cursor: pointer; font-size: 1rem; font-weight: 500; text-decoration: none; transition: background-color 0.3s; } .btn:hover { background-color: #2980b9; } .btn-secondary { background-color: #95a5a6; } .btn-secondary:hover { background-color: #7f8c8d; } .btn-danger { background-color: #e74c3c; } .btn-danger:hover { background-color: #c0392b; } /* Table styles */ table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; } table th, table td { padding: 0.75rem; text-align: left; border-bottom: 1px solid #ddd; } table th { background-color: #f5f7fa; font-weight: 600; } /* Alert styles */ .alert { padding: 1rem; border-radius: 4px; margin-bottom: 1.5rem; } .alert-success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .alert-error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } /* Footer styles */ footer { background-color: #2c3e50; color: white; padding: 1rem 0; text-align: center; } /* Responsive styles */ @media (max-width: 768px) { nav ul { flex-direction: column; } nav ul li { margin-right: 0; margin-bottom: 0.5rem; } } /* Invoice item styles */ .invoice-items { margin-bottom: 1.5rem; } .invoice-item { display: flex; flex-wrap: wrap; gap: 1rem; background-color: #f9f9f9; padding: 1rem; border-radius: 4px; margin-bottom: 0.5rem; } .invoice-item .form-group { flex: 1; min-width: 200px; margin-bottom: 0.5rem; } .add-item-btn { background-color: #2ecc71; margin-right: 1rem; } .add-item-btn:hover { background-color: #27ae60; } .remove-item-btn { background-color: #e74c3c; } .remove-item-btn:hover { background-color: #c0392b; } /* Search form */ .search-form { display: flex; margin-bottom: 1.5rem; } .search-form input { flex: 1; border-top-right-radius: 0; border-bottom-right-radius: 0; } .search-form .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } /* Invoice details */ .invoice-details { margin-bottom: 2rem; } .invoice-details dl { display: grid; grid-template-columns: 1fr 3fr; gap: 0.5rem; } .invoice-details dt { font-weight: 600; color: #7f8c8d; } .invoice-details dd { margin-left: 0; } .invoice-status { display: inline-block; padding: 0.25rem 0.5rem; border-radius: 4px; font-weight: 500; text-transform: uppercase; font-size: 0.875rem; } .status-pending { background-color: #ffeeba; color: #856404; } .status-paid { background-color: #c3e6cb; color: #155724; } .status-cancelled { background-color: #f5c6cb; color: #721c24; }