* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Arial, sans-serif; line-height: 1.6; background-color: #f4f4f4; } .container { max-width: 1200px; margin: 0 auto; padding: 20px; } header { background-color: #333; color: white; padding: 1rem 0; margin-bottom: 2rem; } .header-content { display: flex; justify-content: space-between; align-items: center; } .org-stats { display: flex; gap: 2rem; margin-left: auto; } .stat-item { display: flex; align-items: center; gap: 0.5rem; background: rgba(255, 255, 255, 0.1); padding: 0.5rem 1rem; border-radius: 4px; } .stat-item i { font-size: 1.2rem; } .sections-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2rem; padding: 1rem; } /* Make memo section span full width */ .section-tile.memo-section { grid-column: 1 / -1; aspect-ratio: unset; min-height: 400px; } .section-tile { background-color: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: transform 0.3s; aspect-ratio: 1; padding: 2rem; display: flex; flex-direction: column; } .section-tile:hover { transform: translateY(-5px); } .section-tile h2 { font-size: 1.5rem; color: #333; margin-bottom: 1rem; display: flex; align-items: center; gap: 0.5rem; } .member-list, .asset-list { list-style: none; overflow-y: auto; flex-grow: 1; } .member-item, .asset-item { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem; border-bottom: 1px solid #eee; } .member-item:last-child, .asset-item:last-child { border-bottom: none; } .member-info, .asset-info { display: flex; align-items: center; gap: 1rem; } .member-role { font-size: 0.875rem; padding: 0.25rem 0.5rem; border-radius: 4px; background-color: #e9ecef; } .role-owner { background-color: #ffd700; color: #000; } .role-admin { background-color: #dc3545; color: white; } .role-member { background-color: #28a745; color: white; } .asset-type { font-size: 0.875rem; color: #666; } .supply-details { display: flex; gap: 1rem; align-items: center; } .supply-quantity { font-size: 0.875rem; color: #28a745; background: rgba(40, 167, 69, 0.1); padding: 0.2rem 0.5rem; border-radius: 4px; } .asset-value { color: #007bff; font-weight: bold; } .transaction-list { list-style: none; overflow-y: auto; flex-grow: 1; } .transaction-item { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem; border-bottom: 1px solid #eee; } .transaction-item:last-child { border-bottom: none; } .transaction-info { display: flex; flex-direction: column; gap: 0.25rem; } .transaction-description { font-size: 0.9rem; color: #666; } .transaction-date { font-size: 0.8rem; color: #888; } .transaction-amount { font-weight: bold; } .amount-positive { color: #28a745; } .amount-negative { color: #dc3545; } .memo-controls { margin-bottom: 1rem; display: flex; justify-content: flex-end; } .memo-list { list-style: none; overflow-y: auto; flex-grow: 1; } .memo-item { padding: 1rem; border-bottom: 1px solid #eee; display: flex; flex-direction: column; gap: 0.5rem; } .memo-item:last-child { border-bottom: none; } .memo-header { display: flex; justify-content: space-between; align-items: flex-start; } .memo-title { font-weight: bold; color: #333; } .memo-metadata { display: flex; gap: 1rem; font-size: 0.8rem; color: #666; } .memo-author { color: #007bff; } .memo-content { color: #444; line-height: 1.4; } .memo-dialog { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 2rem; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 1000; width: 90%; max-width: 500px; } .memo-dialog-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 999; } .memo-form { display: flex; flex-direction: column; gap: 1rem; } .memo-form input { width: 100%; padding: 0.5rem; border: 1px solid #ddd; border-radius: 4px; } .memo-form textarea { width: 100%; min-height: 100px; padding: 0.5rem; border: 1px solid #ddd; border-radius: 4px; resize: vertical; } .memo-form-buttons { display: flex; justify-content: flex-end; gap: 1rem; } .cancel-btn { width: 100%; background-color: #6c757d; color: white; border: none; border-radius: 4px; padding: 0.75rem 1rem; font-size: 1rem; cursor: pointer; transition: background-color 0.3s; } .add-btn { border: none; border-radius: 4px; padding: 0.75rem 1rem; font-size: 1rem; cursor: pointer; transition: background-color 0.3s; } .submit-btn { width: 100%; background-color: #007bff; color: white; border: none; border-radius: 4px; padding: 0.75rem 1rem; font-size: 1rem; cursor: pointer; transition: background-color 0.3s; } .cancel-btn:hover { background-color: #5a6268; } .member-status { width: 8px; height: 8px; border-radius: 50%; margin-right: 0.5rem; } .status-online { background-color: #28a745; } .status-offline { background-color: #dc3545; }