:root{--color-primary: #2c3e50;--color-primary-dark: #1a252f;--color-secondary: #1976d2;--color-success: #2e7d32;--color-warning: #f57c00;--color-error: #d32f2f;--color-text: #333;--color-text-secondary: #666;--color-text-muted: #999;--color-border: #ddd;--color-border-light: #eee;--color-background: #f5f5f5;--color-background-light: #fafafa;--color-white: #ffffff;--color-gray-light: #e0e0e0;--color-gray: #666}.admin-h1{font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:1.5rem}.admin-h2{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:1rem}.admin-h3{font-size:1.1rem;font-weight:700;color:var(--color-text-secondary);margin-bottom:1rem}.admin-h4{font-size:1rem;font-weight:700;margin-bottom:1rem}.admin-body-text{font-size:1rem;color:var(--color-text)}.admin-small-text{font-size:.85rem;color:var(--color-text-secondary)}.admin-label{display:block;font-size:.9rem;font-weight:500;color:var(--color-text);margin-bottom:.5rem}.btn-primary{padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-primary-secondary{padding:.5rem 1rem;background-color:var(--color-secondary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .2s}.btn-primary-secondary:hover{opacity:.9}.btn-primary-secondary:disabled{cursor:not-allowed;opacity:.6}.btn-submit{padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-submit:hover{opacity:.9}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.btn-submit-success{padding:.75rem 1.5rem;background-color:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-submit-success:hover{opacity:.9}.btn-submit-success:disabled{cursor:not-allowed;opacity:.6}.btn-submit-danger{padding:.75rem 1.5rem;background-color:var(--color-error);color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-submit-danger:hover{opacity:.9}.btn-submit-danger:disabled{cursor:not-allowed;opacity:.6}.btn-table{padding:.25rem .5rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:opacity .2s}.btn-table-view{padding:.25rem .5rem;background-color:var(--color-secondary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-table-view:hover{opacity:.9}.btn-table-edit{padding:.25rem .5rem;background-color:var(--color-secondary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-table-edit:hover{opacity:.9}.btn-table-delete{padding:.25rem .5rem;background-color:var(--color-error);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;opacity:1}.btn-table-delete:hover{opacity:.9}.btn-table-delete:disabled{cursor:not-allowed;opacity:.6}.btn-table-save{padding:.25rem .5rem;background-color:var(--color-secondary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;opacity:1}.btn-table-save:hover{opacity:.9}.btn-table-save:disabled{cursor:not-allowed;opacity:.6}.btn-table-approve{padding:.25rem .5rem;background-color:var(--color-success);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;opacity:1}.btn-table-approve:hover{opacity:.9}.btn-table-approve:disabled{cursor:not-allowed;opacity:.6}.btn-table-cancel{padding:.25rem .5rem;background-color:var(--color-gray-light);color:var(--color-text);border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-table-cancel:hover{opacity:.9}.btn-link{padding:.25rem .5rem;background-color:transparent;color:var(--color-secondary);border:none;border-radius:4px;cursor:pointer;font-size:.85rem;text-decoration:underline}.btn-link:hover{opacity:.8}.btn-link-danger{padding:.25rem .5rem;background-color:transparent;color:var(--color-error);border:none;border-radius:4px;cursor:pointer;font-size:.85rem;text-decoration:underline}.btn-link-danger:hover{opacity:.8}.btn-link-danger:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{padding:.5rem 1rem;background-color:var(--color-gray);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-cancel:hover{opacity:.9}.btn-cancel-large{padding:.75rem 1.5rem;background-color:var(--color-gray);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-cancel-large:hover{opacity:.9}.btn-cancel-light{padding:.5rem 1rem;background-color:var(--color-gray-light);color:var(--color-text);border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-cancel-light:hover{opacity:.9}.btn-back{padding:.5rem 1rem;background-color:var(--color-gray);color:#fff;border:none;border-radius:4px;cursor:pointer;margin-bottom:1rem;font-size:.9rem;font-weight:500}.btn-back:hover{opacity:.9}.btn-pagination{padding:.5rem 1rem;background-color:#fff;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-pagination:hover:not(:disabled){opacity:.8}.btn-pagination:disabled{cursor:not-allowed;opacity:.5}.btn-logout{background-color:transparent;border:1px solid white;color:#fff;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-logout:hover{opacity:.9}.form-container{max-width:800px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.9rem;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--color-secondary)}.form-input-small{width:100%;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.85rem;box-sizing:border-box}.form-input-small:focus{outline:none;border-color:var(--color-secondary)}.form-textarea{width:100%;min-height:100px;padding:.75rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem;box-sizing:border-box;font-family:inherit}.form-textarea:focus{outline:none;border-color:var(--color-secondary)}.form-textarea-small{width:100%;min-height:60px;padding:.5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.85rem;margin-bottom:.5rem;box-sizing:border-box;font-family:inherit}.form-textarea-small:focus{outline:none;border-color:var(--color-secondary)}.form-select{padding:.5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.9rem;box-sizing:border-box;background-color:#fff}.form-select:focus{outline:none;border-color:var(--color-secondary)}.form-select-small{padding:.5rem;border:1px solid var(--color-border);border-radius:4px;min-width:250px;font-size:.9rem;box-sizing:border-box;background-color:#fff}.form-select-small:focus{outline:none;border-color:var(--color-secondary)}.form-checkbox{margin-right:.5rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions-small{display:flex;gap:.5rem}.table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:4px}.table{width:100%;border-collapse:collapse}.table thead tr{background-color:#f5f5f5}.table th{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border)}.table tbody tr{border-bottom:1px solid var(--color-border-light)}.table td{padding:.75rem}.table-empty-cell{padding:2rem;text-align:center;color:var(--color-text-muted)}.table-actions{display:flex;gap:.5rem}.layout-container{min-height:100vh;display:flex;flex-direction:column}.layout-header{background-color:var(--color-primary);color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.layout-nav{display:flex;justify-content:space-between;align-items:center}.layout-nav-link{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:700}.layout-nav-link:hover{opacity:.9}.layout-nav-link-small{color:#fff;text-decoration:none}.layout-nav-link-small:hover{opacity:.9}.layout-nav-user{display:flex;align-items:center;gap:1rem}.layout-nav-welcome{color:#ecf0f1}.layout-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.layout-footer{background-color:#34495e;color:#fff;padding:1rem 2rem;text-align:center;margin-top:auto}.container{max-width:1200px;margin:0 auto;padding:2rem}.container-narrow{max-width:600px;margin:0 auto;padding:2rem}.container-wide{max-width:900px;margin:0 auto}.card{background-color:#fff;border:1px solid var(--color-border);border-radius:4px;padding:1.5rem;margin-bottom:1rem}.card-success{background-color:#e8f5e9;padding:1rem;border-radius:4px;margin-bottom:2rem}.card-error{padding:.75rem;margin-bottom:1rem;background-color:#fee;color:#c33;border-radius:4px;font-size:.9rem}.card-warning{padding:1rem;background-color:#fff3e0;border-radius:4px;border:1px solid var(--color-warning)}.card-danger{padding:1rem;background-color:#ffebee;border-radius:4px;border:1px solid var(--color-error)}.badge{padding:.5rem 1rem;border-radius:4px;font-size:.9rem;font-weight:500}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#fff}.badge-error{background-color:var(--color-error);color:#fff}.badge-info{background-color:var(--color-secondary);color:#fff}.badge-gray{background-color:var(--color-gray);color:#fff}.badge-plain{background-color:transparent;color:var(--color-text);font-weight:500}.badge-small{padding:.25rem .5rem;border-radius:12px;font-size:.85rem}.badge-small-active{background-color:#e8f5e9;color:var(--color-success)}.badge-small-inactive{background-color:#ffebee;color:var(--color-error)}.status-pending{color:var(--color-warning);font-size:.9rem;font-weight:500}.status-approved{color:var(--color-success);font-size:.9rem;font-weight:500}.status-rejected{color:var(--color-error);font-size:.9rem;font-weight:500}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background)}.login-card{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.login-title{margin-bottom:1.5rem;text-align:center;color:var(--color-primary)}.login-form-group{margin-bottom:1rem}.login-input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem;box-sizing:border-box}.login-input:focus{outline:none;border-color:var(--color-secondary)}.login-submit{width:100%;padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer}.login-submit:hover:not(:disabled){opacity:.9}.login-submit:disabled{cursor:not-allowed;opacity:.6}.dashboard-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.dashboard-quick-action{padding:1rem;border:1px solid;border-radius:4px;cursor:pointer;text-align:left;transition:opacity .2s}.dashboard-quick-action:hover{opacity:.9}.dashboard-quick-action-orange{background-color:#fff3e0;border-color:var(--color-warning)}.dashboard-quick-action-blue{background-color:#e3f2fd;border-color:var(--color-secondary)}.dashboard-quick-action-purple{background-color:#f3e5f5;border-color:#7b1fa2}.dashboard-quick-action-yellow{background-color:#fff9c4;border-color:#f57f17}.dashboard-quick-action-pink{background-color:#fce4ec;border-color:#c2185b}.dashboard-quick-action-title{font-weight:500;margin-bottom:.25rem}.dashboard-quick-action-desc{font-size:.85rem;color:var(--color-text-secondary)}.dashboard-section{margin-bottom:2rem}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.flex{display:flex}.flex-column{display:flex;flex-direction:column}.flex-gap{gap:1rem}.flex-gap-small{gap:.5rem}.flex-gap-tiny{gap:.25rem}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.text-center{text-align:center}.text-muted{color:var(--color-text-secondary);font-size:.85rem}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.pagination-container{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem}.pagination-info{font-size:.9rem;color:var(--color-text-secondary)}.code{font-family:monospace;font-size:.9rem}.code-large{font-family:monospace;font-size:1rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
