:root{--primary-color: #1976d2;--secondary-color: #424242;--success-color: #4caf50;--warning-color: #ff9800;--danger-color: #f44336;--info-color: #2196f3;--light-color: #f5f5f5;--dark-color: #212121}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:#1565c0}.btn-secondary{background-color:var(--secondary-color);color:#fff}.btn-secondary:hover{background-color:#303030}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover{background-color:#388e3c}.btn-warning{background-color:var(--warning-color);color:#fff}.btn-warning:hover{background-color:#f57c00}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#d32f2f}.btn-info{background-color:var(--info-color);color:#fff}.btn-info:hover{background-color:#1976d2}.btn-outline{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:#fff}.btn-ghost{background-color:transparent;color:var(--secondary-color);border:none}.btn-ghost:hover{background-color:var(--light-color)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:disabled:hover{opacity:.6}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem;margin-bottom:1rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--secondary-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500}.form-control{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1976d233}.alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-warning{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.spinner{border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 .5rem}.card{padding:1rem}}.p-button{border-radius:4px}.p-card{border-radius:8px;box-shadow:0 2px 4px #0000001a}.p-datatable .p-datatable-header{background:var(--primary-color);color:#fff}.p-toolbar{background:#fff;border:1px solid #ddd;border-radius:4px}.security-indicator{position:fixed;top:10px;right:10px;background:var(--success-color);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;z-index:1000}.security-indicator.insecure{background:var(--danger-color)}.actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.actions-right{display:flex;gap:.5rem;align-items:center}
