.container { padding: 1.5rem; max-width: 800px; } .container h2 { margin: 0 0 1rem 0; font-size: 1.25rem; } .loading { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 3rem; color: var(--text-secondary, #666); } .spinner { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .placeholder { padding: 2rem; text-align: center; color: var(--text-secondary, #666); } .workflowList { display: flex; flex-direction: column; gap: 0.5rem; } .workflowItem { border: 1px solid var(--border-color, #e0e0e0); border-radius: 8px; overflow: hidden; background: var(--bg-primary, #fff); } .workflowHeader { display: flex; align-items: center; gap: 0.5rem; width: 100%; padding: 0.75rem 1rem; text-align: left; background: var(--bg-secondary, #f8f9fa); border: none; cursor: pointer; font-size: 1rem; } .workflowHeader:hover { background: var(--bg-hover, #e9ecef); } .badge { margin-left: auto; background: var(--primary-color, #007bff); color: white; padding: 0.2rem 0.5rem; border-radius: 12px; font-size: 0.8rem; } .taskList { padding: 1rem; border-top: 1px solid var(--border-color, #e0e0e0); } .empty { color: var(--text-tertiary, #999); font-size: 0.9rem; margin: 0; } .taskCard { padding: 1rem; margin-bottom: 0.75rem; border: 1px solid var(--border-color, #e0e0e0); border-radius: 6px; background: var(--bg-primary, #fff); } .taskCard:last-child { margin-bottom: 0; } .taskType { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; color: var(--text-secondary, #666); margin-bottom: 0.5rem; } .formFields { display: flex; flex-direction: column; gap: 0.5rem; } .formFields button { margin-top: 0.75rem; align-self: flex-start; } .formFields label, .taskCard label { display: block; font-size: 0.875rem; margin-top: 0.5rem; margin-bottom: 0.25rem; } .formFields input[type='text'], .formFields input[type='number'], .formFields input[type='date'], .taskCard input[type='text'], .taskCard input[type='number'], .taskCard textarea { width: 100%; padding: 0.5rem; border: 1px solid var(--border-color, #e0e0e0); border-radius: 4px; } .taskCard textarea { min-height: 80px; margin-bottom: 0.5rem; } .openFormButton { margin-top: 0.5rem; padding: 0.5rem 1rem; background: var(--primary-color, #007bff); color: white; border: none; border-radius: 6px; font-size: 0.9rem; cursor: pointer; } .openFormButton:hover:not(:disabled) { opacity: 0.9; } .openFormButton:disabled { opacity: 0.6; cursor: not-allowed; } .popupSubmitButton { padding: 0.5rem 1.25rem; background: var(--success-color, #28a745); color: white; border: none; border-radius: 6px; font-size: 0.9rem; cursor: pointer; } .popupSubmitButton:hover:not(:disabled) { opacity: 0.9; } .popupSubmitButton:disabled { opacity: 0.6; cursor: not-allowed; } .approvalButtons { display: flex; gap: 0.5rem; margin-top: 0.75rem; } .approvalButtons button, .taskCard button { padding: 0.5rem 1rem; border-radius: 6px; border: none; cursor: pointer; font-size: 0.9rem; } .approvalButtons button:first-child, .taskCard button[type='button'] { background: var(--primary-color, #007bff); color: white; } .approvalButtons button:last-of-type:not(:first-child) { background: var(--danger-color, #dc3545); color: white; } .approvalButtons button:disabled, .taskCard button:disabled { opacity: 0.6; cursor: not-allowed; }