pine-asset-management/src/app/purchase-orders/purchase-orders.component.css
TZ.J f77b6a647c Update project structure and dependencies for PINEPIM Asset Management System
- Added Angular Material and PrimeNG components for UI enhancements.
- Updated package dependencies including Angular core libraries and added new packages for animations and layout.
- Enhanced README with detailed project features, installation instructions, and technology stack.
- Implemented responsive design for sidebar and navigation.
- Updated styles with CSS variables and Material theme integration.
- Refactored app component for improved structure and functionality.
- Added routing for main application features including dashboard, asset management, and admin settings.
- Introduced analytics configuration in angular.json.
2025-08-07 22:58:27 +07:00

402 lines
6.2 KiB
CSS

/* Purchase Orders Container */
.purchase-orders-container {
padding: 0.5rem;
background-color: var(--dark-gray);
min-height: 100vh;
}
/* Page Header */
.page-header {
margin-bottom: 1rem;
padding: 0.75rem 0;
}
.header-content {
display: flex;
align-items: center;
gap: 0.75rem;
}
.header-icon {
color: var(--primary-red);
font-size: 1.5rem;
}
.header-title {
margin: 0;
font-size: 1.5rem;
font-weight: 600;
color: var(--white);
}
.header-subtitle {
color: var(--light-gray);
font-size: 0.875rem;
margin-top: 0.25rem;
}
/* Filter Card */
.filter-card {
background-color: var(--medium-gray);
border-radius: 8px;
padding: 1rem;
margin-bottom: 1rem;
}
.filter-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 0.75rem;
align-items: end;
}
.filter-field {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.field-icon {
color: var(--light-gray);
font-size: 1rem;
}
.field-suffix-icon {
color: var(--light-gray);
font-size: 1rem;
}
.filter-actions {
display: flex;
gap: 0.5rem;
align-items: center;
}
.action-button {
padding: 0.5rem 1rem;
border-radius: 4px;
border: none;
font-size: 0.875rem;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
display: flex;
align-items: center;
gap: 0.5rem;
}
.action-button.primary {
background-color: var(--primary-red);
color: var(--white);
}
.action-button.primary:hover {
background-color: #b00000;
}
.action-button.secondary {
background-color: transparent;
color: var(--white);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.action-button.secondary:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.action-button.accent {
background-color: var(--accent-green);
color: var(--white);
}
.action-button.accent:hover {
background-color: #00b359;
}
.button-icon {
font-size: 1rem;
}
/* Table Card */
.table-card {
background-color: var(--medium-gray);
border-radius: 8px;
padding: 1rem;
}
.table-container {
overflow-x: auto;
border-radius: 4px;
}
.purchase-table {
width: 100%;
border-collapse: collapse;
}
.table-header {
background-color: rgba(0, 0, 0, 0.2);
color: var(--white);
font-weight: 600;
font-size: 0.875rem;
}
.table-header th {
padding: 0.75rem 0.5rem;
text-align: left;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.table-cell {
padding: 0.75rem 0.5rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
font-size: 0.875rem;
color: var(--white);
}
.amount-cell {
font-weight: 600;
color: var(--accent-green);
}
.table-header-row {
background-color: rgba(0, 0, 0, 0.2);
}
.table-row {
transition: background-color 0.2s ease;
}
.table-row:hover {
background-color: rgba(255, 255, 255, 0.05);
}
/* Category and Status Chips */
.category-chip,
.status-chip {
padding: 0.25rem 0.5rem;
border-radius: 12px;
font-size: 0.75rem;
font-weight: 500;
display: inline-block;
}
.category-chip.asset {
background-color: rgba(59, 130, 246, 0.2);
color: #3b82f6;
}
.category-chip.tools {
background-color: rgba(16, 185, 129, 0.2);
color: #10b981;
}
.category-chip.spare {
background-color: rgba(245, 158, 11, 0.2);
color: #f59e0b;
}
.category-chip.expense {
background-color: rgba(239, 68, 68, 0.2);
color: #ef4444;
}
.category-chip.consumable {
background-color: rgba(139, 92, 246, 0.2);
color: #8b5cf6;
}
.status-chip.completed {
background-color: rgba(0, 204, 102, 0.2);
color: var(--accent-green);
}
.status-chip.pending {
background-color: rgba(255, 170, 0, 0.2);
color: var(--yellow-orange);
}
.status-chip.cancelled {
background-color: rgba(255, 68, 68, 0.2);
color: var(--red);
}
/* Custom Paginator */
.custom-paginator {
margin-top: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 0;
color: var(--white);
font-size: 0.875rem;
}
/* Responsive Design */
@media (max-width: 1024px) {
.filter-grid {
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: 0.5rem;
}
.filter-card {
padding: 0.75rem;
}
.table-card {
padding: 0.75rem;
}
.table-header th,
.table-cell {
padding: 0.5rem 0.375rem;
font-size: 0.8125rem;
}
}
@media (max-width: 768px) {
.purchase-orders-container {
padding: 0.25rem;
}
.page-header {
margin-bottom: 0.75rem;
padding: 0.5rem 0;
}
.header-title {
font-size: 1.25rem;
}
.filter-grid {
grid-template-columns: 1fr;
gap: 0.5rem;
}
.filter-actions {
flex-wrap: wrap;
gap: 0.375rem;
}
.action-button {
padding: 0.375rem 0.75rem;
font-size: 0.8125rem;
}
.table-container {
font-size: 0.75rem;
}
.table-header th,
.table-cell {
padding: 0.375rem 0.25rem;
font-size: 0.75rem;
}
.category-chip,
.status-chip {
font-size: 0.6875rem;
padding: 0.1875rem 0.375rem;
}
}
@media (max-width: 480px) {
.filter-card {
padding: 0.5rem;
}
.table-card {
padding: 0.5rem;
}
.action-button {
padding: 0.25rem 0.5rem;
font-size: 0.75rem;
}
.button-icon {
font-size: 0.875rem;
}
.table-header th,
.table-cell {
padding: 0.25rem 0.125rem;
font-size: 0.6875rem;
}
.custom-paginator {
flex-direction: column;
gap: 0.5rem;
align-items: stretch;
}
}
/* Animations */
.filter-card,
.table-card {
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.filter-card:hover,
.table-card:hover {
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.table-row {
transition: background-color 0.2s ease;
}
.action-button {
transition: all 0.2s ease;
}
.action-button:hover {
transform: translateY(-1px);
}
/* Compact spacing optimizations */
.purchase-orders-container {
padding: 0.375rem;
}
.page-header {
margin-bottom: 0.75rem;
padding: 0.5rem 0;
}
.filter-card {
padding: 0.75rem;
margin-bottom: 0.75rem;
}
.table-card {
padding: 0.75rem;
}
.table-header th,
.table-cell {
padding: 0.5rem 0.375rem;
}
/* Reduce font sizes for better density */
.header-title {
font-size: 1.375rem;
}
.table-header th {
font-size: 0.8125rem;
}
.table-cell {
font-size: 0.8125rem;
}
.category-chip,
.status-chip {
font-size: 0.6875rem;
}
.action-button {
font-size: 0.8125rem;
}